4月 7th, 2008at 14:26

Tags: ,

Struts2.0.9とTiles2.0.5の使い方

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>

Tiles定義ファイルの作成

レイアウト用JSPの作成

struts.xmlの修正