JDeveloperを使用すると、Tiles定義ファイルをWebアプリケーションに追加する際、定義ファクトリの初期化に必要なコードを、関連付けられた構成ファイルに自動的に追加できます。
このトピックでは、次の項目について説明します。
Strutsベースのアプリケーションの場合、TilesプラグインをStruts構成ファイルで宣言する必要があります。
アプリケーションが複数のモジュールで構成される場合、Tiles定義を使用する各モジュールのStruts構成ファイルでTilesプラグインを指定する必要があります。複数のStruts構成ファイルをピア構成ファイルとして使用している場合、Tilesプラグインはそれらのファイルのうちの1つでのみ指定する必要があります。複数のStruts構成ファイルの詳細は、Struts構成ファイルについてを参照してください。
Tiles定義ファイルをStrutsアプリケーションのプロジェクトに追加する際、Tilesサーブレットをアプリケーションのweb.xml
ファイルに追加するかどうか尋ねられます。Strutsベースのアプリケーションの場合、web.xml
ファイルでのこのエントリは不要なため、JDeveloperでのTilesサーブレットの追加は行わないでください。かわりに、JDeveloperによってTilesプラグインがプロジェクトのStruts構成ファイルに自動的に追加されます。
たとえば、TilesプラグインのStruts構成ファイルのエントリは、次のようになります。
<plug-in className="org.apache.struts.tiles.TilesPlugin">
<set-property property="definitions-config"
value="/WEB-INF/tiles-defs.xml"/>
<set-property property="module-aware" value="true"/>
<set-property property="definitions-parser-validate" value="true"/>
</plug-in>
JDeveloperにより、指定した場所のプロジェクトにTiles定義ファイルが追加されます。StrutsベースのアプリケーションでTilesを使用するために必要な作業は、これだけです。
アプリケーションに別のTiles定義ファイルを追加する場合、JDeveloperによってStruts構成ファイルに追加されます。たとえば、次のようにすると、Tiles定義ファイルtiles-base.xml
が追加されます。
<plug-in className="org.apache.struts.tiles.TilesPlugin">
<set-property property="definitions-config"
value="/WEB-INF/tiles-defs.xml,/WEB-INF/tiles-base.xml"/>
<set-property property="module-aware" value="true"/>
<set-property property="definitions-parser-validate" value="true"/>
</plug-in>
TilesをStrutsアプリケーションで使用するには、Tiles定義に直接移動できます。詳細は、「StrutsアプリケーションでのTiles定義への移動」を参照してください。
JSFアプリケーションでTilesを使用するには、定義ファクトリの初期化に必要なサーブレットを、アプリケーションのデプロイメント・ディスクリプタ・ファイルweb.xml
で宣言する必要があります。
Tiles定義ファイルをJSFアプリケーションのプロジェクトに追加する際、Tilesサーブレットをアプリケーションのweb.xmlファイルに追加するかどうか尋ねられます。JSFアプリケーションの場合、JDeveloperによってこのエントリを追加します。
Tilesサーブレットのエントリは、load-on-startup
タグの2を使用し、Facesサーブレットのエントリの後に続きます。この順番を維持することが重要です。Tilesサーブレットは、Facesサーブレットの後にロードします。
web.xml
ファイルに追加されたエントリには、次のものが含まれます。
<servlet>
<servlet-name>tiles</servlet-name>
<servlet-class>org.apache.struts.tiles.TilesServlet</servlet-class>
<init-param>
<param-name>definitions-config</param-name>
<param-value>/WEB-INF/tiles-defs.xml</param-value>
</init-param>
...
<load-on-startup>2</load-on-startup>
</servlet>
他のTiles定義ファイルをプロジェクトに追加すると、JDeveloperにより、それらの名前をこのサーブレット定義に追加できます。たとえば、次の例では、Tiles定義ファイルtiles-stds.xml
が追加されています。
<servlet>
<servlet-name>tiles</servlet-name>
<servlet-class>org.apache.struts.tiles.TilesServlet</servlet-class>
<init-param>
<param-name>definitions-config</param-name>
<param-value>/WEB-INF/tiles-defs.xml,/WEB-INF/tiles-stds.xml</param-value>
</init-param>
...
<load-on-startup>2</load-on-startup>
</servlet>
JDeveloperによってTiles定義ファイルが作成され、必要なサポートがプロジェクトにstruts.jar
ファイルの形式で追加されます。これは、TilesがStrutsに付属しているためです。struts.jar
が含まれるのは、JSFとTilesを使用するためにStrutsそのものが必要だからではなく、struts.jar
ファイル内でTilesパッケージが配布されているためです。
TilesをJSFアプリケーションで使用する方法の詳細は、「JSFアプリケーションでのタイル定義の使用」を参照してください。
Tiles定義の使用
プロジェクトへのTiles定義ファイルの追加
StrutsアプリケーションでのTiles定義への移動
JSFアプリケーションでのタイル定義の使用
Tilesの詳細および使用方法は、Apacheのサイトの説明を参照してください。
http://struts.apache.org/api/org/apache/struts/tiles/package-summary.html#package_description
Tilesタグ・ライブラリのリファレンス情報は、次のサイトを参照してください。
http://struts.apache.org/userGuide/struts-tiles.html
Tilesのユーザー・ガイドは、次のサイトを参照してください。
http://struts.apache.org/userGuide/dev_tiles.html
Copyright © 1997, 2007, Oracle. All rights reserved.