このトピックでは、JSPページのビジネス・コンポーネント・データ・タグ・ライブラリについてのみ説明します。
注意: データ・タグ・ライブラリは、現在もサポートしていますが、新規プロジェクトに使用することはお薦めしません。 データ・バインドされた新しいJSPページを開発するには、式言語(EL: Expression Language)およびOracle ADFフレームワークの使用をお薦めします。 JSPページおよびOracle ADFフレームワークの使用方法については、「モデル・プロジェクトでのADF Business Componentsの使用」を参照してください。
リリース9.0.3より前のJDeveloperでは、ビジネス・コンポーネントJSPページは<jbo:ApplicationModule>
データ・タグと<jbo:DataSource>
データ・タグのみを使用して、ビュー・オブジェクトへのデータ・バインディングを取得しました。作成されたデータソースIDは、行セットや属性を操作するために、<jbo:RowsetIterate>
や<jbo:ShowValue>
などの他のデータ・タグのdatasource
属性により参照されました。現在のJDeveloperでは、<jbo:DataSource>
タグはデータ・バインディングを取得するための1つの方法にすぎません。
JDeveloperリリース9.0.3からは、次のいずれかのアプローチを使用して、ビジネス・コンポーネントJSPページでJSPデータ・バインディングを取得できます。
<jbo:DataSource>
タグを使用し、他のデータ・タグに渡せるビュー・オブジェクト・インスタンスへのハンドルを取得します。
<jbo:DataSource>
タグのかわりに<jbo:ViewObject>
タグを使用します。 <jbo:ViewObject>
タグは、より明示的なタグ名を使用して古い<jbo:DataSource>
タグの機能をミラーリングするために用意されています。
データソースとしてビュー・オブジェクト・インスタンスを直接指定できるということは、<jbo:ViewObject>
タグおよび<jbo:DataSource>
タグがビジネス・コンポーネントJSPページに必要でなくなったことを意味します。たとえば、次のコンポーネント・タグは、データソースid
を定義せずにビュー・オブジェクト・インスタンス名を使用します。
<jbo:DataTable datasource="MyAppModuleId.CustomersView1" />
ビュー・オブジェクト・インスタンス名を使用する場合は、<jbo:ApplicationModule>
データ・タグに指定したアプリケーション・モジュールのid
を指定する必要があることに注意してください。
また、ビュー・オブジェクトの特定の行セットを操作する場合は、特定のアプリケーション・モジュールid
を持つviewobjectName#rowsetName
表記を使用できます。
<jbo:DataTable datasource="MyAppModuleId.CustomersView1#CustomersView1MyRowset" />
ビジネス・コンポーネント<jbo:CreateRowSet>
データ・タグを使用し、名前を指定した行セットを作成することもできます。
以前と同様に、ビジネス・コンポーネントJSPページには、アプリケーション・モジュールへの参照がある<jbo:ApplicationModule>
データ・タグが含まれている必要があります。 すべてのビジネス・コンポーネントJSPページが、同じアプリケーション・モジュールId
を参照していることが非常に重要です。JSPページがアクセスするアプリケーション・モジュールは、アプリケーション・モジュールのセッション情報およびパッシベーションの動作(保存したアプリケーション・モジュール・インスタンスの状態)により区別されます。 単一のアプリケーション・モジュールId
が確実に使用されるように、データ・タグの属性エディタでId
が自動的に設定されます。 デフォルトId
は、ビジネス・コンポーネントJSPプロジェクトの.cpx
構成ファイルにあるセッション名に基づいています。 複数のアプリケーション・モジュールを参照するビジネス・コンポーネントJSPページを作成した場合、アプリケーションはランタイム・エラーを表示します。
次の例では、<jbo:ViewObject>
タグまたは<jbo:DataSource>
タグを使用し、ビジネス・コンポーネント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ページおよびアプリケーション・モジュール・プールについて
ADF Business Componentsのデプロイメントについて
JSPプロジェクトのビジネス・コンポーネント構成プロパティの定義
Copyright © 1997, 2004, Oracle. All rights reserved.