帳モメのotanuft

Stay hungry, stay foolish.

FreeMarker Overview

freeMarker_logo.png

FreeMarkerはVerocityと並ぶTemplateエンジンで、最近ではWebWorkのViewテンプレートに

FreeMarkerの対応を行ったことで有名になった。

Velocityと同様にHTML, PostScript, TeX, ソースコードなどテキストファイルの出力ができる。

歴史は結構古く、1999年頃にはプロジェクトは存在していて2002年にはVersion2.0が書き直されて

リリースされている。そして現在に至っているようだ。また、プロジェクトも活発でBugFixや新機能の

実装など意欲的な新しいバージョンがリリースされている。

テンプレート内でJSP taglibを使用できたり、DOM操作、最近はやりのスクリプト言語Jython

Rhino(正式にはサポートしてないが)をサポートするなどかなり高機能だ。

テンプレートの中で使用できる構文にBuilt-inとDirectiveがあり、Built-inは出力内容に関しての

便利な関数郡といった感じで、ゼロサプレス、日付のフォーマットが簡単に行える。

Directiveは出力内容そのものを制御するものという感じで、if文やincludeなどが使える。

使用方法も非常に簡単で、ドキュメントもまとまっていてわかりやすい。

SpringではFreeMarkerを簡単に使えるようにFactoryBeanなどが用意されている。