S-JIS[2015-05-06] 変更履歴

FreeMarker BeanModel

FreeMarkerでJavaBeansを扱う方法について。

 

概要

FreeMarkerでは、JavaBeansをそのまま扱うことが出来る。
(対象のJavaBeansのクラスやメソッドはpublicでなければならない)


JavaBeansクラス:

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


FreeMarker目次へ戻る / Javaへ戻る / 技術メモへ戻る
メールの送信先:ひしだま