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