まずは設定から。

一応一通りTilesの勉強はして、実際に使ってはいるんですが、おさらいもかねて、まとめていこうと思います。ちなみに私は、Tomcat4.1とStruts1.1を使ってます。
まず必要なファイルは:

  • struts.jar
  • tiles.tld
  • Strutsに必要な全ての commons-*.jar ファイル - WEB-INF/lib/ の下に。

これらのファイルは、StrutsとTilesをダウンロードしてくると一緒についてきます。それぞれのウェブサイトからGETして下さい。
Tiles definitionのプラグインで設定します(Struts1.1〜)。 このプラグインがdefinition factoryを作成し、パラメータとconfiguration オブジェクトをわたします。 パラメータはweb.xmlで設定するか、プラグインパラメータとしても設定できます。プラグインstruts-config.xml ファイルの中に設定します。
(注)Struts1.1のMultiple Application機能を使っていて、struts-client-config.xml, struts-admin-config.xmlなどと、複数のコンフィグファイルがある場合は全てのファイルに同じ設定をしないとうまく作動しませんでした。


<plug-in className="org.apache.struts.tiles.TilesPlugin" >
<set-property property="definitions-config"
value="/WEB-INF/definitions/tiles-defs.xml,
/WEB-INF/definitions/tiles-client-defs.xml,
/WEB-INF/definitions/tiles-menu-defs.xml" />
<set-property property="moduleAware" value="true" />
<set-property property="definitions-parser-validate" value="true"/>
</plug-in>

definitions-factory-class
(省略可):definitions factoryとして使うクラスの名前
definitions-config
(省略可):configurationファイル名。 複数ある場合はコンマで別ける。
moduleAware
(省略可):Tiles definition factoryがmodule awareかどうか。 true(ディフォルト)の場合、1つのStruts モジュールに1つのファクトリー。falseの場合、全てのモジュールに共通のファクトリーとなる。
definitions-parser-validate
(省略可):XML パーサーがTiles configurationファイルをvalidateするかどうか。 true(ディフォルト)の場合、ファイルのヘダーにDTDが必要。

Tilesのタグライブラリーを使うために、WEB-INF/web.xmlの中に下のラインを追加。


<taglib>
<taglib-uri>/WEB-INF/tld/struts-tiles.tld</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-tiles.tld</taglib-location>
</taglib>
タグの説明はまた後日…。