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_login</managed-bean-name>
<managed-bean-class>project1.backing.LoginInfo</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<!--oracle-jdev-comment:managed-bean-jsp-link:1Login.jsp-->
</managed-bean>
マネージドBeanのスコープによって、Beanが格納されるスコープが決まります。 Beanの有効なスコープは次のとおりです。
application: Webアプリケーションが実行されている間、Beanが使用可能です。 このスコープは、LDAPディレクトリなどのグローバルなBeanに有用です。
session: クライアント・セッションの間、クライアントがBeanを使用できます。
request: インスタンス化されてからクライアントに応答が返されるまで、Beanが使用可能です。 これは通常、現在のページの存続期間です。
none: Beanは参照されるたびにインスタンス化されます。 これは、Beanが別のBean内で参照されている場合に有用です。
コメント行
<!--oracle-jdev-comment...-->は、このマネージドBeanが
Login.jspファイルのバッキングBeanであることを示します。
マネージドBeanの作成が完了すると、
Login.jspページのソース・コードに次のコードが追加されます。
<!--oracle-jdev-comment...-->。 以下に例を挙げます。
oracle-jdev-comment:auto-binding-backing-bean-name:backing_login
bindingと
id。 以下に例を挙げます。
<h:inputText binding="#{backing_login.inputText1}" id="inputText1"/>
Javaソース・エディタで、Oracle JDeveloperによりバッキングBeanファイル
LoginInfo.javaが開きます。これにより、ページ上の各UIコンポーネント用に作成されたプロパティとアクセッサ・メソッドを確認できます。