Strutsベースのアプリケーションで、あるモジュールから別のモジュールに切り替えるには、3つの方法があります。
Strutsのスイッチ・アクションを使用して、Struts構成ファイルに、異なるモジュールのページへのリンクを定義します。別のモジュールのページにリンクするには、モジュールとページの両方を識別するURIを使用して対象のページを識別します。
スイッチ・アクションをStruts構成ファイルに追加するには、次のようにします。
コンポーネント・パレットのStruts Page Flowページで、スイッチ・アクションをクリックし、ダイアグラムをクリックします。
ダイアグラムに表示されているスイッチ・アクションの名前をクリックし、このアクションに対してStruts構成ファイル内で使用する名前を入力します。入力する際は、先頭のスラッシュを保持してください(/toModule
など)。
スイッチ・アクションが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>
module
属性の使用
Strutsハイパーリンク・タグ(Include
、Img
、Link
、Rewrite
および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
Copyright © 1997, 2006, Oracle. All rights reserved.