モジュラーStrutsアプリケーションについて

Strutsの単一のWebアプリケーションで使用するのは、1つのStrutsコントローラ・サーブレットのみです。このサーブレットは、アプリケーションのすべての部分が共有するWebアプリケーション・スコープ内に、フレームワークの構成の詳細を変数で格納します。ただし、アプリケーションは、個別のモジュールに分割できます。この分割によって、異なるグループの開発者は各自のネームスペースで独自の機能に取り組んだり、アプリケーションを再利用可能な論理的機能モジュールにパーティション化できます。

このトピックでは、次の項目について説明します。

Struts Webアプリケーション・モジュールを識別するためのモジュール接頭辞

モジュラーStruts Webアプリケーションでは、単一モジュールのアプリケーションとほぼ同じ方法で、各モジュールを作成します。モジュールの1つは、常にデフォルト・モジュールとして処理され、特定のモジュールを識別しない参照は、このデフォルト・モジュールにルーティングされます。他のすべてのモジュールには、対象のモジュールを識別する(つまり、モジュールにコンテキストを設定する)手段が必要です。この識別には、各モジュールのモジュール接頭辞が使用されます。

たとえば、アプリケーションにデフォルト・モジュール、製品ピッカー・モジュールおよび支払モジュールがあるとします。デフォルト・モジュールにはモジュール接頭辞が付いていませんが、他のモジュールには接頭辞pickおよびpayが付いているとします。JDeveloperを使用してアプリケーション用に新規のStruts構成ファイルを作成する際に、新規ファイルが個別モジュール用かどうかを指定し、新規モジュール用の場合はモジュール接頭辞として使用するモジュール名を指定します。JDeveloperにより、適切なエントリが追加されます。

モジュール接頭辞は、Struts構成ファイルを識別するweb.xmlデプロイメント・ディスクリプタ・ファイルに指定されます。「モジュラー・アプリケーションに対するデプロイメント・ディスクリプタ」の項を参照してください。

モジュラー・アプリケーションに対するStruts構成ファイル

モジュラーStrutsアプリケーションを作成するには、各モジュールに個別の構成ファイルを作成します。

各モジュールには独自のStruts構成ファイルがあるため、モジュールのアクションやフォワードなどはすべてそのファイルにグループ化できます。このファイルは、他のモジュールの構成ファイルとは独立しています。各モジュールの構成ファイルでは、単一モジュールのアプリケーションの場合と同じ方法でアクションおよびフォワードを構成します。

アプリケーションのweb.xmlデプロイメント・ディスクリプタ・ファイルでは、モジュラーStrutsアプリケーションの全モジュールの構成ファイルを識別します。

Struts構成ファイルの詳細は、「Struts構成ファイルについて」を参照してください。

モジュラー・アプリケーションに対するデプロイメント・ディスクリプタ

モジュラーStruts Webアプリケーションで使用される各構成ファイルは、アプリケーションのweb.xmlデプロイメント・ディスクリプタ・ファイルで識別する必要があります。

デフォルト構成ファイル用の構成ファイル、または単一モジュール・アプリケーション用の単一の構成ファイルは、次のように指定します。

<servlet>
  <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
  <init-param>
    <param-name>config</param-name>
    <param-value>/WEB-INF/struts-config.xml</param-value>
  </init-param>
</servlet>
    

各アプリケーション・モジュールのweb.xmlデプロイメント・ディスクリプタ・ファイルには、初期化パラメータ・エントリが必要です。これらのエントリは2つの目的を果たします。

新しいStruts構成ファイルをアプリケーションに追加する場合は、ファイルが個別のモジュールに対するファイルかどうかを指定します。個別のモジュールに対するファイルの場合はモジュール名を指定します。JDeveloperによって、適切なエントリがweb.xmlデプロイメント・ディスクリプタ・ファイルに作成されます。

たとえば、次のようなエントリがデプロイメント・ディスクリプタ・ファイルに作成されます。

<servlet>
  <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
  <init-param>
    <param-name>config</param-name>
    <param-value>/WEB-INF/struts-config.xml</param-value>
  </init-param>
  <init-param>
    <param-name>config/pick</param-name>
    <param-value>/WEB-INF/struts-pick.xml</param-value>
  </init-param>
  <init-param>
    <param-name>config/pay</param-name>
    <param-value>/WEB-INF/struts-pay.xml</param-value>
  </init-param>
</servlet>    

これらのエントリは、アプリケーションが次の3つのモジュールで構成されていることを示しています。

モジュラー・アプリケーションでのモジュール間のリンク

Strutsアプリケーション内で、あるモジュールのページから別のモジュールのページにリンクするには、複数の方法があります。詳細は、「Strutsアプリケーション・モジュール間の切替え」を参照してください。


Struts編集ツール
Struts構成ファイルについて
Strutsプロパティ・ファイルおよびリソース・バンドルについて

Strutsの使用
Strutsアプリケーション・モジュール間の切替え
Webアプリケーションに対するStruts構成ファイルの追加

モジュラーStrutsアプリケーションの詳細は、Strutsのドキュメント(アプリケーションの構成に関する説明)を参照してください。

http://struts.apache.org/index.html