JSPページのビジネス・コンポーネント・アクセスについて

このトピックでは、JSPページのビジネス・コンポーネント・データ・タグ・ライブラリについてのみ説明します。

非推奨機能: ビジネス・コンポーネント・データ・タグ・ライブラリは、既存アプリケーションの保守用としてのみ、JDeveloper 10g((10.1.3)でサポートされています。データ・タグは、現行のプロジェクトが、datatags.jarのエントリのあるweb.xmlファイルを含んでいる場合にのみ、コンポーネント・パレットに表示されます(既存のすべてのデータ・タグ・プロジェクトの場合)。新規のデータバインドJSPページを作成する場合は、JavaServer Faces(JSF)コンポーネントのあるOracle ADFデータ・バインディングを使用することをお薦めします。

9.0.3より前のバージョンのJDeveloperでは、ビジネス・コンポーネントJSPページは、<jbo:ApplicationModule>および<jbo:DataSource>データ・タグのみに依存して、ビュー・オブジェクトに対するデータ・バインディングを取得していました。作成されたデータソースIDは、行セットおよび属性に対する操作を行うために、<jbo:RowsetIterate>または<jbo:ShowValue>など、他のデータ・タグのdatasource属性から参照されていました。現在JDeveloperでは<jbo: DataSource>タグがデータ・バインディングを取得する唯一の方法です。

JDeveloperバージョン9.0.3以降では、次のいずれかの方法を使用して、ビジネス・コンポーネントJSPページでJSPデータ・バインディングを取得できます。

データソースとしてビュー・オブジェクト・インスタンスを指定する機能により、<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ページおよびアプリケーション・モジュール・プーリングについて
ビジネス・コンポーネント・デプロイについて

JSPプロジェクトのビジネス・コンポーネント構成プロパティの定義