FreeMarkerでJavaBeansを扱う方法について。
FreeMarkerでは、JavaBeansをそのまま扱うことが出来る。
(対象のJavaBeansのクラスやメソッドはpublicでなければならない)
public class HogeBean {
private final String value;
public Hoge(String value) {
this.value = value;
}
public String getFoo() {
return value;
}
}
// データモデルを定義
Map<String, Object> dataModel = new HashMap<>();
dataModel.put("hoge", new HogeBean("test"));
template.process(dataModel, writer);
JavaBeansの実験: ${hoge.foo}
JavaBeansのgetterメソッドで他のJavaBeansインスタンスを返すようにすれば、「${hoge.foo.zzz}」の様に書くことが出来る。