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}
」の様に書くことが出来る。