Struts1.3.xでTilesをはじめて使ってみたが、これはかなり使えるプラグインだった。調べてみると、Apache.orgにTilesのサイトがあったので、Struts2のTilesプラグインを使った実装を調べてみる。
まずはインストールからシンプルに使ってみる。
インストール
Tilesをダウンロードしてきて以下の3ファイルを「WEB-INF/lib」に配置する。この場所以外に配置するのは推奨されない。
- tiles-api-2.0.5.jar
- tiles-core-2.0.5.jar
- tiles-jsp-2.0.5.jar(JSPのサポートがいる場合に入れる)
依存するライブラリを入れる。ダウンロードしたモジュールに入っているのでそれを使えばいい。
- Jakarta Commons BeanUtils 1.7.0以上
- Jakarta Commons Digester 1.8以上
- Jakarta Commons Logging (at least API) 1.1以上
Tilesエンジンの設定
3つの方法がある。
Servletを利用する
web.xmlにTilesのサーブレットを定義。Tilesの定義ファイルを指定してあげる。
<servlet>
<servlet-name>tiles</servlet-name>
<servlet-class>
oorg.apache.tiles.web.startup.TilesServlet
</servlet-class>
<init-param>
<param-name>
org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG
</param-name>
<param-value>
/WEB-INF/tiles-defs.xml,/org/apache/tiles/classpath-defs.xml
</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
Listenerを使う
Listenerを使うことも可能。
<listener>
<listener-class>org.apache.tiles.web.startup.TilesListener</listener-class>
</listener>
<context-param>
<param-name>
org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG
</param-name>
<param-value>
/WEB-INF/tiles-defs.xml,/org/apache/tiles/classpath-defs.xml
</param-value>
</context-param>
Filterを使う
<filter>
<filter-name>Tiles Filter</filter-name>
<filter-class>org.apache.tiles.web.startup.TilesFilter</filter-class>
<init-param>
<param-name>
org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG
</param-name>
<param-value>
/WEB-INF/tiles-defs.xml,/org/apache/tiles/classpath-defs.xml
</param-value>
</init-param>
</filter>
...
<filter-mapping>
<filter-name>Tiles Filter</filter-name>
<url-pattern>*</url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>