テンプレートエンジンであるFreeMarkerについて
日本語の説明ページがほとんど存在しないので備忘録として残しておく
上記に書いた通り、FreeMarkerはJava用のテンプレートエンジンであり、Velocityなどと同じように、静的なテンプレートに埋め込まれた変数にアプリケーション側で値を代入することで、動的に出力ファイルを生成できる。
また、テンプレートには条件式や繰り返しなど制御構造を埋め込むこともできる。
日本ではVelocityのほうが有名で解説サイトも多いが、海外ではわりと多く使われている。
Velocityに比べて制御文がタグ表記だったり、変数を中かっこでくくったりと、よりテンプレート部分と変数の埋め込み部分の分離がはっきりしている。
<#if isHoge>
<#list someList as some>
<#if some.message??>
${some.message}
<#else>
デフォルトメッセージ
</#if>
</#list>
</#if>
FreeMarkerの表示サンプル
以下、本家サイトより機能の紹介
<@myMacro color="red" width=2>...</@myMacro>
)