struts-config.xml
ファイルは、ビジネス・コンポーネント・イベントを特定のアクションにマップするためにStrutsフレームワークで使用されるStruts定義ファイルです。BC4J JSP Webアプリケーションの場合、このファイルはBC4J JSPウィザードを使用する際に生成されます。ウィザードは、BC4Jイベントおよびページ・フォワードを処理する多数のビルトイン・アクションを持つStruts定義ファイルを作成します。BC4J Webアプリケーション・アクションには、2つのタイプがあります。
Struts構成エディタを使用して、BC4J JSPページのアクション・マッピングを作成できます。ナビゲータでstruts-config.xml
ファイルをダブルクリックし、結果を表示します。次に、定義できるアクション・マッピングの例を示します。
.do
ナビゲーション・リンクからの単純なフォワードは、グローバル・フォワード定義で定義できます。
<global-forwards>
<forward name="DeptView1_Browse" path="/CustomersView_Browse.do"/>
.... one forward for each BC4J JSP page you want to display...
</global-forwards>
これはDeptView1_Browse
の次のアクションとして、BC4JコンテキストとともにCustomersView_Browse
へ転送することを意味します。
アクション・クラスへのフォワードのあるアクション・マッピングは、次のようになります。
<action
path="/update_CustomersView"
type="oracle.jbo.html.struts11.action.UpdateAction"
name="dataEdit_FormName"
scope="request"
validate="true"
input="/CustomersView_Edit.do">
<forward name="success" path="/CustomersView_Browse.do"/>
</action>
これは、update_CustomersView
へのリクエストに対して、dataEdit_FormName
で名前が表されるフォームBean上で完全修飾クラス名がoracle.jbo.html.struts11.action.UpdateAction
のアクションを起動することを意味します。その際、このアクション上でフォームBeanのvalidate()
メソッドがコールされ、検証が成功した場合はBC4JコンテキストとともにCustomersView_Browse.do
へ転送されます。フォワード・アクションは、次のようになります。
<action
path="/CustomersView_Browse"
forward="/CustomersView_Browse.jsp">
<set-property property="releasemode" value="Stateful" />
</action>
これは、アクションCustomersView_Browse
が起動した際に、CustomersView_Browse.jsp
に進み、BC4JContext
Beanプロパティreleasemode
をStateful
に変更することを意味します。
BC4J JSPページのアクション・クラスを作成する場合は、BC4Jコンテキストを指定できる必要があります。コンテキストにより、ターゲットJSPはビュー・オブジェクト・インスタンスで動作できます。何を行う必要があるか、あらかじめわかっている場合は、struts-config.xml
を使用してコンテキストを定義できます。それ以外の場合は、JSPページからBC4Jコンテキストを取得し、それをリクエスト・パラメータとして渡す必要があります。
次のアクション・マッピングは、アクション・マッピングから提供される場合のapplication
プロパティおよびreleasemode
プロパティの使用方法を示しています。
<action path="/myAction" type="mypackage3.myAction">
<set-property property="application" value="Mypackage1Module"/>
<set-property property="releasemode" value="Stateful"/>
<forward name="success" path="untitled1.jsp"/>
</action>
JDeveloperリリース9.0.3では、アプリケーション・モジュールの登録は、1つのアプリケーション・モジュールIDのみサポートしています。複数のアプリケーション・モジュールへの参照を含むStrutsベースのBC4J JSPページの作成を試行した場合は、前述のサンプルが正しく更新されず、ランタイム・エラーが発生します。
JSPページおよびビジネス・コンポーネントについて
JSPページおよびBC4Jアプリケーション・モジュール・プールについて
bc4j.xcfgファイルでのBC4J JSPランタイム・プロパティの定義
Business Components for Java(BC4J)のデプロイについて