Developer Tools
JDeveloper
JSFを使用すると、ユーザー・インタフェース内のコンポーネントを任意のJavaBeanに直接バインドできますが、JSFマネージドBeanを使用する方法が最適です。
マネージドBeanとは、JSF構成ファイル
faces-config.xmlに登録されたアプリケーションによって使用される任意のJavaBeansのことです。 ADFデータ・バインディングとADFタスク・フローを使用するアプリケーションでは、マネージドBeanは、構成ファイル
adfc-config.xmlまたはタスク・フロー定義ファイルに登録されている必要があります。
アプリケーションが起動すると、アプリケーションは構成ファイル(1つまたは複数)を解析してBeansが使用可能になります。 マネージドBeanが(たとえば、EL式内で値式と呼ばれるコンポーネントのタグ属性の値として)参照されると、マネージドBean作成機能が、そのBeanのデフォルトのコンストラクタ・メソッドを呼び出してBeansをインスタンス化します。 プロパティが宣言されている場合は、それらに宣言済みのデフォルト値が設定されます。
マネージドBeanを定義するには、構成ファイルにエントリを追加します。具体的には、Beanを参照する際に使用するシンボリック名を指定し、Beanをインスタンス化するときに使用するクラスを特定します。 このシンボリック名は、Beanのプロパティとメソッドを参照する必要がある際、Beanを識別するために使用します。 Beanを直接参照する代わりにシンボリック名を使用しているため、プレゼンテーションがアプリケーション・ロジックと分離され、ビューに影響を及ぼすことなくモデルを変更できます。
マネージドBeanは、構成ファイルの
<managed-bean>要素を使用して、登録します。 構成ファイルでXMLを手動で編集するか、
adfc-config.xmlまたは
faces-config.xmlに対して概要エディタを使用することにより、マネージドBeanを構成ファイルに追加できます。
この例では、Create Managed Beanダイアログを使用して、新しいマネージドBeanを登録および作成します。 Create Managed 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:Webアプリケーションが実行されている間、Beanが使用可能です。 このスコープは、LDAPディレクトリなどのグローバルなBeanに有用です。
session:クライアント・セッションの間、クライアントがBeanを使用できます。
request:インスタンス化されてからクライアントに応答が返されるまで、Beanが使用可能です。 これは通常、現在のページの存続期間です。
none:Beanは参照されるたびにインスタンス化されます。 これは、Beanが別のBean内で参照されている場合に有用です。
次のスコープは、ADFアプリケーションのみで使用可能です。
backingBean:ページ上の同じ領域または宣言的なコンポーネントには独自のスコープが必要であるため、領域または宣言的なコンポーネントの任意のバッキングBeanにより使用されます。
pageFlow:ADFバウンド・タスク・フロー内のアクティビティの間でデータを渡すためのメモリのスコープです。
pageFlowスコープは、ADFバウンド・タスクの各インスタンスの一意のストレージ・エリアを定義します。 そのライフスパンは、
requestスコープよりも長く、
sessionスコープよりも短いADFバウンド・タスク・フローです。
view:指定されている場合、Oracle JDeveloperは、ユーザーがページとの対話を継続する限り、使用されるオブジェクトをページに保持します。 ユーザーがページの使用を終了すると、それらのオブジェクトは自動的に解除されます。