Oracle 9iより前のリリースのJDeveloperでは、事前定義済のWeb対応JavaBeansまたはWeb BeanのセットがJSPページで直接使用できました。Oracle 9i JDeveloper以降、JSPページのWeb Beanテクノロジは、コンポーネント・パレットのビジネス・コンポーネントWeb Beanタグ・ライブラリにある2つのJSPタグを使用して、すべてアクセスできるようになりました。
注意: JDeveloperでは、JSPページで引き続きカスタムWeb Beanの使用やOracleの事前定義済Web Beanの使用をサポートしていますが、コンポーネント・パレットのビジネス・コンポーネントWeb Beanタグ・ライブラリで提供される、対応するJSPタグの使用をお薦めします。
JDeveloperのWeb Beanは、JSP開発者がBeanからHTMLを直接出力するために使用できるコンポーネントです。Web BeanはJSPページのHttpRequest
およびHttpResponse
オブジェクトにアクセスでき、動的なコンテンツの生成に使用されます。ビジネス・コンポーネント・コンポーネント・タグと同様に、Web Beanは再使用の可能なオブジェクトであり、ルック・アンド・フィールの統一が必要なJSPページの開発を簡略化できます。次のことが可能です。
コンポーネント・パレットから <jbo:DataWebBean>
または<jbo:WebBean>
データ・タグを挿入することによる、JSPページでのWeb Beanの使用
すべてのWeb Beanは、直接的または間接的に、JDeveloperのWeb Bean
インタフェースに実装されます。Web Beanは、2つのグループに分けられます。
ビュー・オブジェクトによって表示されるビジネス・コンポーネント行セットにバインドされているData Web Bean
データバインドされておらず、ビジュアルまたはUIのWeb Beanとして機能するHTML Web Bean
Data Web Beanは、ビジネス・コンポーネント・プロジェクトで定義されたビュー・オブジェクトに表示されている行セットへのアクセスを提供します。Data Web BeanはDataWebBean
インタフェースを直接実装しません。かわりに、クラスDataWebBeanImpl
を拡張します。このクラスは、WebBean
インタフェースとDataWebBean
インタフェースの両方の実装を提供します。Data Web Beanの実装により、ビジネス・コンポーネントにカプセル化されているデータにアクセスできる再使用可能なJSPページ要素が容易に作成できます。
たとえば、Data Web Beanを使用して、次を実行できます。
マスター/ディテール・フォームの作成
グラフやツリー形式による複雑なデータの表現
Data Web Beanには、次のようなものがあります。
HTMLまたはデータバインドされないWeb Bean:
WebBean
インタフェースの直接実装
HTMLオブジェクトをレンダリングし、クラスHTMLElementContainer
を順次拡張するHTMLToolbar
などの、クラスの拡張
たとえば、Toolbar Web Beanでは、親のHTMLToolbar
と同様の動作でHTMLツールバーが生成されますが、親とは異なり、メンバー変数内にあるJSPの暗黙オブジェクトの一部に対する参照が格納されます。JSPページの暗黙オブジェクトは、JavaスクリプトレットなどのJSP要素にアクセスできます。
HTML Web Beanには、次のようなものがあります。
Web Beanソース
JDeveloperのWeb Beanクラスの知識は、JDeveloperの事前定義済Web Beanの使用方法や、独自のWeb Beanの作成方法を理解する上で重要です。
これらのクラスおよびインタフェースのソース・コードはZipファイル<jdev_install>/src/bc4jhtmlsrc.zip
にあります。<jdev_install>
はJDeveloperがインストールされているディレクトリです。
事前定義済Web Beanの継承元は、次のとおりです。
Web Beanの既知の問題
qView
インスタンス変数はData Web Beanではサポートされていません。
Oracle 9iより前のリリースのJDeveloperでは、Web Beanの作成ウィザードでインスタンス変数qView
が生成され、これによりビュー・オブジェクト行セットが操作できました。Oracle9iのJDeveloperでは、このインスタンス変数がサポートされていません。JDeveloperで引き続きWebアプリケーションを開発する場合、次の変更を実行する必要があります。
qView
をgetRowSet()
に変更
たとえば、次のものは
qView.setRangeSize(-1);
qView.first();
次のように変更します。
getRowSet().setRangeSize(-1);
getRowSet().first();
populateForm()
メソッドは、JDeveloper 3.2以降よりWeb Beanのレンダリングには使用できません。
ユーザーはrenderToString()
メソッドを実装する必要があります。この変更は、HTMLフィールド・レンダラをData Web Beanおよびビジネス・コンポーネント・データ・タグの両方にアクセス可能にするためのものです。<jdev_install>
/BC4J/src/lib
フォルダのbc4jhtmlsrc.zip
ファイルにあるソース・ファイルoracle.jdeveloper.html.HTMLFieldRendererImpl.java
を参照してください。
JSPページおよびビジネス・コンポーネントについて
Web Beanの操作
Copyright © 1997, 2006, Oracle. All rights reserved.