モジュラー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