Strutsアプリケーション・モジュール間の切替え

Strutsベースのアプリケーションで、あるモジュールから別のモジュールに切り替えるには、3つの方法があります。

スイッチ・アクションの使用

Strutsのスイッチ・アクションを使用して、Strutsコンフィギュレーション・ファイルに、異なるモジュールのページへのリンクを定義します。別のモジュールのページにリンクするには、モジュールとページの両方を識別するURIを使用して対象のページを識別します。

スイッチ・アクションをStrutsコンフィギュレーション・ファイルに追加するには、次のようにします。

  1. プロジェクトのStrutsページ・フロー・ダイアグラムを表示します

  2. コンポーネント・パレットのStruts Page Flowページで、スイッチ・アクションをクリックし、ダイアグラムをクリックします。

  3. ダイアグラムに表示されているスイッチ・アクションの名前をクリックし、このアクションに対してStrutsコンフィギュレーション・ファイル内で使用する名前を入力します。入力する際は、先頭のスラッシュを保持してください(/toModuleなど)。

  4. ダイアグラムを保存します。

スイッチ・アクションがStrutsコンフィギュレーション・ファイルに追加されます。次に例を示します。

<action-mappings>
  <action path="/toModule"
          type="org.apache.struts.actions.SwitchAction"/>
  ...
</action-mappings>    

別のモジュールのページにリンクする場合は、次の書式のURIを使用します。

/switch-action.do?prefix=/module&page=/ page.do

次に例を示します。

/toModule.do?prefix=/moduleB&page=/index.do

アプリケーションのデフォルト・モジュールのページに切り替える場合は、同じ書式のURIを使用しますが、モジュール名は使用しません。次に示すように、toModuleにはスイッチ・アクションに使用する名前を、indexにはページを指定します。

/toModule.do?prefix=&page=/index.do

フォワードのcontextRelative属性の使用

グローバル・フォワードまたはフォワードのcontextRelative属性を使用して、別のモジュールのページにリンクできます。

グローバル・フォーワードを使用する場合は、次のような設定を使用します。moduleBにはターゲット・ページが存在しているモジュールの名前を、indexにはページを指定します。

<global-forwards>
  <forward name="toModuleB"
    contextRelative="true"
    path="/moduleB/index.do"
    redirect="true"/>
   ...
</global-forwards>    

フォーワードを使用する場合は、アクションについて次のような設定を使用します。moduleBにはターゲット・ページが存在しているモジュールの名前を、indexにはページを指定します。

<action-mappings>
  <action ... >
     <forward name="success"
       contextRelative="true"
       path="/moduleB/index.do"
       redirect="true"/>
   </action>
   ...
</action-mappings>    

Strutsハイパーリンクのmodule属性の使用

Strutsハイパーリンク・タグ(IncludeImgLinkRewriteおよびForward)には、他のアプリケーション・モジュールのページへのリンクに使用できるモジュール属性があります。たとえば、Strutsリンク・タグを保持するモジュール・パラメータを使用すると、次のような書式になります。moduleBにはターゲット・ページが存在しているモジュールの名前を、indexにはページを指定します。

<html:link module="moduleB" path="/index.do"/>


Struts編集ツール
モジュラーStrutsアプリケーションについて
Strutsコンフィギュレーション・ファイルについて
Strutsプロパティ・ファイルおよびリソース・バンドルについて

Strutsの使用
Webアプリケーションに対するStrutsコンフィギュレーション・ファイルの追加

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

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