Developer Tools
JDeveloper
JSFを使用すると、ユーザー・インタフェース内のコンポーネントを任意のJavaBeanに直接バインドできますが、JSFマネージドBeanを使用する方法が最適です。
マネージドBeanとは、JSF構成ファイル
faces-config.xmlに登録されたアプリケーションによって使用される任意のJavaBeansのことです。 JSFアプリケーションが起動すると、この構成ファイルを解析してBeansが使用可能になります。 マネージドBeanが(たとえば、EL式内で値式と呼ばれるコンポーネントのタグ属性の値として)参照されると、マネージドBean作成機能が、そのBeanのデフォルトのコンストラクタ・メソッドを呼び出してBeansをインスタンス化します。 プロパティが宣言されている場合は、それらに宣言済みのデフォルト値が設定されます。
マネージドBeanを定義するには、JSF構成ファイル
faces-config.xmlにエントリを追加します。具体的には、Beanを参照する際に使用するシンボリック名を指定し、Beanをインスタンス化するときに使用するクラスを特定します。 このシンボリック名は、Beanのプロパティとメソッドを参照する必要がある際、Beanを識別するために使用します。 Beanを直接参照する代わりにシンボリック名を使用しているため、プレゼンテーションがアプリケーション・ロジックと分離され、ビューに影響を及ぼすことなくモデルを変更できます。
faces-config.xmlファイルにはいつでもマネージドBeanを追加できます。それには、同ファイル内のXMLを手動で編集する方法と、構成ファイルの概要エディタを使用する方法があります。概要エディタには、各種作成ダイアログと、Beanのクラス・ファイル参照を検索するための参照機能が用意されています。
ここでは、ページ・プロパティ・ダイアログを使用してマネージドBeanを作成します。 「
N
ew
」をクリックしてCreate Managed Beanダイアログを使用し、マネージドBeanを追加してそのBeanのJavaクラスを生成すると、
faces-config.xmlファイルに必要な構成要素が追加され自動的に更新されます。
マネージドBeanは、
faces-config.xmlファイル内の
<managed-bean>要素によって登録されます。 マネージドBeanを作成したあとは、XMLソース・エディタで
faces-config.xmlを開くと、次のようなコードが追加されていることを確認できます。
<managed-bean>
<managed-bean-name>backing_start</managed-bean-name>
<managed-bean-class>project1.backing.StartInfo</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<!--oracle-jdev-comment:managed-bean-jsp-link:1Start.jsp-->
</managed-bean>
マネージドBeanのスコープによって、Beanが格納されるスコープが決まります。 Beanの有効なスコープは次のとおりです。
application:Webアプリケーションが実行されている間、Beanが使用可能です。 このスコープは、LDAPディレクトリなどのグローバルなBeanに有用です。
session:クライアント・セッションの間、クライアントがBeanを使用できます。
request:インスタンス化されてからクライアントに応答が返されるまで、Beanが使用可能です。 これは通常、現在のページの存続期間です。
none:Beanは参照されるたびにインスタンス化されます。 これは、Beanが別のBean内で参照されている場合に有用です。
コメント行
<!--oracle-jdev-comment...-->は、このマネージドBeanが
Start.jspページのバッキングBeanであることを示します。
マネージドBeanの作成が完了すると、
Start.jspページのソース・コードに次のコードが追加されます。
<!--oracle-jdev-comment...-->。以下に例を挙げます。
oracle-jdev-comment:auto-binding-backing-bean-name:backing_start
bindingと
id。以下に例を挙げます。
<h:outputText binding="#{backing_start.outputText1}" id="outputText1"/>
Javaソース・エディタで、Oracle JDeveloperによりバッキングBeanファイル
StartInfo.javaが開きます。これにより、ページ上の各UIコンポーネント用に作成されたプロパティとアクセッサ・メソッドを確認できます。