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>
これは、リクエスト・オブジェクトが、BC4Jコンテキストとともにフォワード定義DeptView1_Browse
の論理名を受信すると、URI /CustomersView_Browse.do
で指定された別のアクション・マッピングへ転送することを意味します。
BC4Jアクションの場合は、起動しているアクションにより、mapping.findForward()
メソッドとともにフォワード(論理名ごと)が返されます。
また、アクション・マッピングで、特定のアクション・クラスを実行することもできます。たとえば、編集フォームの「送る」ボタンでフォームBeanへのフォワードを起動できます。
<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>
これは、リクエスト・オブジェクトが、BC4JコンテキストとともにURI update_CustomersView.do
を受信すると、dataEdit_FormName
Beanの完全修飾Javaクラス名であるoracle.jbo.html.struts11.action.UpdateAction
からアクションが起動されて、このアクションのvalidate()
メソッドが起動されsuccess
を返した場合に、CustomersView_Browse.do
に対して指定された次のアクション・マッピングへ転送することを意味します。
また、アクション・マッピングは、アクションを起動せずに別のJSPページに転送することもできます。たとえば、フォワード・アクションは次のようになります。
<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)のデプロイについて