BC4J JSPページでのJSPデータ・バインドについて

リリース9.0.3より前のJDeveloperでは、BC4J JSPページは<jbo:ApplicationModule>データ・タグと<jbo:DataSource>データ・タグのみを使用して、ビジネス・コンポーネント・ビュー・オブジェクトへのデータ・バインドを取得しました。作成されたデータソースIDは、行セットや属性を操作するために、<jbo:RowsetIterate><jbo:ShowValue>などの他のデータ・タグのdatasource属性により参照されました。現在のJDeveloperでは、<jbo:DataSource>タグはデータ・バインドを取得するための1つの方法にすぎません。

JDeveloperリリース9.0.3からは、次のいずれかのアプローチを使用して、BC4J JSPページでJSPデータ・バインドを取得できます。

データソースとしてビュー・オブジェクト・インスタンスを直接指定できるということは、<jbo:ViewObject>タグと<jbo:DataSource>タグがBC4J JSPページに必要でなくなったことを意味します。たとえば、次のコンポーネント・タグは、データソースidを定義せずにビュー・オブジェクト・インスタンス名を使用します。

<jbo:DataTable datasource="MyAppModuleId.CustomersView1" />

ビュー・オブジェクト・インスタンス名を使用する場合は、<jbo:ApplicationModule>データ・タグに指定したアプリケーション・モジュールのidを指定する必要があることに注意してください。

また、ビュー・オブジェクトの特定の行セットを操作する場合は、特定のアプリケーション・モジュールidを持つviewobjectName#rowsetName表記を使用できます。

<jbo:DataTable datasource="MyAppModuleId.CustomersView1#CustomersView1MyRowset" />

BC4Jデータ・タグ<jbo:CreateRowSet>を使用し、名前を指定した行セットを作成することもできます。

以前と同様に、BC4J JSPページには、アプリケーション・モジュールへの参照のある<jbo:ApplicationModule>データ・タグが含まれている必要があります。すべてのBC4J JSPページが、同じアプリケーション・モジュールIdを参照していることが非常に重要です。JSPページがアクセスするアプリケーション・モジュールは、アプリケーション・モジュールのセッション情報およびパッシベーションの動作(保存したアプリケーション・モジュール・インスタンスの状態)により区別されます。単一のアプリケーション・モジュールIdが使用されることを保証するために、BC4J JSPウィザードや、コンポーネント・パレットからアクセスできる属性エディタなどのJDeveloper設計時ツールは、Idを自動的に設定します。デフォルトIdは、BC4J JSPプロジェクトの .cpx構成ファイルにあるセッション名に基づいています。複数のアプリケーション・モジュールを参照するBC4J JSPページを作成した場合、アプリケーションはランタイム・エラーを表示します。

注意: StrutsベースのBC4J JSPページでは、アプリケーション・モジュールはデータ・タグを介して定義されず、実行時にStrutsサーブレット・コントローラにより作成されるBC4JRequestProcessorで作成されたBC4JContextインスタンスに定義されます。

次の例では、<jbo:ViewObject>タグまたは<jbo:DataSource>タグを使用し、BC4J APIを使用可能にするスクリプト可能変数を取得する方法を示します。



<jbo:DataSource id="ds" appid="Mypackage1Module"
  viewobject="EmpView1" />
<%
    RowSet rs = ds.getRowSet();
    Row currentRow = rs.getCurrentRow();
%>

<jbo:ViewObject id="vo" name="Mypackage1Module.EmpView1" />
<% Row currentRow = vo.getCurrentRow(); %>


JSPページおよびビジネス・コンポーネントについて
JSPページおよびBC4Jアプリケーション・モジュール・プールについて
bc4j.xcfgファイルでのBC4J JSPランタイム・プロパティの定義
Business Components for Java(BC4J)のデプロイについて