JSFでは、ユーザー・インタフェースでコンポーネントをJavaBeanに直接バインドできますが、最良の選択はJSFマネージドBeanを使用することです。
マネージドBeanは、アプリケーションで使用されるJavaBeansで、JSFの構成ファイルfaces-config.xml
ファイルに登録されます。ADFデータ・バインディングおよびADFタスク・フローを使用するアプリケーションでは、マネージドBeanは、構成ファイルadfc-config.xml
とタスク・フロー定義ファイルのいずれかに登録する必要があります。
アプリケーションを起動すると、この構成ファイル(複数可)が解析され、Beanが使用可能になります。マネージドBeanが参照されると(たとえば、コンポーネントのタグ属性の値としてEL式で参照されます。これは値バインディングと呼ばれます)、マネージドBean作成機能によって、Beanのデフォルトのコンストラクタ・メソッドがコールされて、Beanがインスタンス化されます。また、プロパティが宣言されると、宣言されたデフォルトの値が移入されます。
マネージドBeanを定義するには、構成ファイルにエントリを追加して、Beanの参照に使用するシンボリック名を指定し、Beanのインスタンス化に使用するクラスを識別します。Beanのプロパティとメソッドを参照する必要がある場合は、シンボリック名を使用してBeanを識別します。Beanを直接参照するのではなく、シンボリック名を使用するため、表示はアプリケーション・ロジックとは切り離されます。これは、表示への影響なしにモデルを変更できることを意味します。
マネージドBeanは、構成ファイルの<managed-bean>
要素を使用して登録されます。マネージドBeanは、ファイルでXMLを手動で編集するか、あるいはadfc-config.xml
またはfaces-config.xml
の概要エディタを使用して構成ファイルに追加できます。
この例では、「マネージドBeanの作成」ダイアログを使用して新規マネージドBeanを登録および作成します。「マネージドBeanの作成」ダイアログには、Beanクラス(存在していない場合)を作成できるオプションがあります。
XMLエディタで表示すると、構成ファイルに登録されたマネージドBeanは次のようになります。
<managed-bean>
<managed-bean-name>myBean</managed-bean-name>
<managed-bean-class>MyBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
マネージドBeanのスコープによって、Beanが格納される有効範囲が決定します。Beanに対する有効なスコープは、次のとおりです。
application
: BeanはWebアプリケーションの実行中は使用可能です。これは、LDAPディレクトリなどのグローバルBeanに役立ちます。 session
: Beanは、クライアントのセッション中はクライアントで使用可能です。 request
: Beanは、インスタンス化されてから、レスポンスがクライアントに戻されるまで使用可能です。これは通常、現行ページの存続中です。 none
: Beanは、参照されるたびにインスタンス化されます。これは、Beanが別のBean内で参照される場合に役立ちます。次のスコープは、ADFアプリケーションでのみ使用可能です。
backingBean
: 別のスコープが必要なページ上のリージョンまたは宣言コンポーネントと同じリージョンまたは宣言コンポーネントに対して、任意のバッキングBeanで使用します。pageFlow
: ADFバインド・タスク・フローの中のアクティビティの間でデータを渡すためのメモリー・スコープです。pageFlow
スコープによって、ADFバインド・タスク・フローの各インスタンスに対して、一意の記憶域が定義されます。その存続期間はADFバインド・タスク・フローであり、request
スコープより長く、session
スコープより短くなっています。view
: このスコープを指定した場合、JDeveloperでは、ユーザーがページとの対話を続行するかぎり、そのページで使用されるオブジェクトが保持されます。このオブジェクトは、ユーザーがページを離れると自動的に解放されます。
Copyright © 1997, 2009, Oracle. All rights reserved.