エンジニアのブログ

最近クラウドを触りはじめたエンジニアのブログ

FreeMarkerでコレクションクラスを扱う

うろ覚えだけど、一応メモ。

xxxx.java

Map mapOne = new HashMap();
map.put("xx", "mapOneのxxです");
map.put("yy", "mapOneのyyです");

Map mapTwo = new HashMap();
map.put("xx", "mapTwoのxxです");
map.put("yy", "mapTwoのyyです");

Map mapThree = new HashMap();
map.put("xx", "mapTwoのxxです");

String[] array = {mapOne, mapTwo, mapThree};
Map root = new Hashmap("test", array);
//省略

xxxx.ftl

<# value as array>
 result: ${value.xx} , ${value.yy}
</#>

出力結果

 result: mapOneのxxです , mapOneのyyです
 result: mapTwoのxxです , mapTwoのyyです
 result: mapThreeのxxです , 

配列の中にMapを入れたり、Mapの中にMapを入れたりするのにまだ何か違和感を感じる。もっと実装やらねば。。