BC4J JSPページのStruts構成について

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プロパティreleasemodeStatefulに変更することを意味します。

BC4Jアクション・マッピング・プロパティについて

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)のデプロイについて