サーブレットとしてZPTエンジンをWebアプリケーションに組み込むことで、 Webアプリケーションの画面テンプレートとしてZPTエンジンを利用することができます。
ZPTエンジンを利用するにはFreyjaのライブラリをWebアプリケーションのWEB-INF/libに配置する必要があります。
必要なライブラリは以下のとおりです。
これらのJarとしては以下のWarファイルに含まれているものを使うのが簡単です。
Maven2対応のWebアプリケーションでは以下の設定をWebアプリケーションのpom.xmlに追加することで 依存ライブラリを自動的に取得することができます。
<dependencies>
...
<dependency>
<groupId>net.skirnir.freyja</groupId>
<artifactId>freyja</artifactId>
<version>1.0.10</version>
</dependency>
...
</dependencies>
なおFreyjaのJarはセントラルリポジトリではなくThe Seasar Project の Mavenリポジトリにありますので、以下の設定をpom.xmlに追加しておく必要があります。
<repositories>
...
<repository>
<id>maven.seasar.org</id>
<name>The Seasar Foundation Maven2 Repository</name>
<url>http://maven.seasar.org/maven2</url>
</repository>
...
</repositories>
サーブレットとしてZPTをハンドリングするクラスの実態はFreyjaServletですので、 通常のサーブレットを利用する場合と同じようにWebアプリケーションのweb.xmlに FreyjaServletのための<servlet>タグと<servlet-mapping>タグを追加して下さい。
<servlet>
<servlet-name>zpt</servlet-name>
<servlet-class>
net.skirnir.freyja.webapp.FreyjaServlet
</servlet-class>
<init-param>
<param-name>tagEvaluator</param-name>
<param-value>
net.skirnir.freyja.zpt.MetalTagEvaluator
</param-value>
</init-param>
<init-param>
<param-name>expressionEvaluator</param-name>
<param-value>
net.skirnir.freyja.zpt.webapp.ServletTalesExpressionEvaluator
</param-value>
</init-param>
<init-param>
<param-name>templateRoot</param-name>
<param-value></param-value>
</init-param>
<init-param>
<param-name>pageEncoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>requestEncoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>responseEncoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>contentType</param-name>
<param-value>text/html; charset=UTF-8</param-value>
</init-param>
<init-param>
<param-name>useShiftJISInsteadOfWindows31J</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>
tagEvaluator.render.overwrite-content-type-meta-tag
</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>transcriptVariablesToRequest</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>variableResolverFactory</param-name>
<param-value></param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>zpt</servlet-name>
<url-pattern>*.zpt</url-pattern>
</servlet-mapping>
上の例では、*.zptというリクエストにFreyjaServletが結び付けられます。 またZPTテンプレートの文字エンコーディング、レンダリング結果のHTMLの文字エンコーディングは いずれもUTF-8です。
FreyjaServletの設定の詳細については 設定リファレンス を参照して下さい。