詳細アイコン JSFマネージドBean

JSFでは、ユーザー・インタフェースでコンポーネントをJavaBeanに直接バインドできますが、最良の選択はJSFマネージドBeanを使用することです。

マネージドBeanは、アプリケーションで使用されるJavaBeansで、JSF構成ファイルfaces-config.xmlに登録されます。JSFアプリケーションを起動すると、この構成ファイルが解析されて、Beanが使用可能になります。マネージドBeanが参照されると(たとえば、コンポーネントのタグ属性の値としてEL式で参照されます。これは値バインディングと呼ばれます)、マネージドBean作成機能によって、Beanのデフォルトのコンストラクタ・メソッドがコールされて、Beanがインスタンス化されます。また、プロパティが宣言されると、宣言されたデフォルトの値が移入されます。

マネージドBeanを定義するには、JSF構成ファイルにエントリを追加して、Beanの参照に使用するシンボリック名を指定し、Beanのインスタンス化に使用するクラスを識別します。Beanのプロパティとメソッドを参照する必要がある場合は、シンボリック名を使用してBeanを識別します。Beanを直接参照するのではなく、シンボリック名を使用するため、表示はアプリケーション・ロジックとは切り離されます。これは、表示への影響なしにモデルを変更できることを意味します。

JSF構成ファイルにマネージドBeanを追加するには、ファイルでXMLを手動で編集するか、または構成ファイルの概要エディタを使用します。このエディタには、Beanのクラス・ファイル参照を検索するためのダイアログや参照機能があります。この例では、概要エディタと「マネージドBeanの作成」ダイアログを使用して、すでに作成したJavaクラスに対してマネージドBeanを追加します。

「マネージドBeanの作成」ダイアログ

faces-config.xmlにマネージドBeanを追加する際、Beanクラスをまだ作成していない場合は、このダイアログを使用してBeanファイルを作成できます。

マネージドBeanは、faces-config.xmlファイルの<managed-bean>要素を使用して登録されます。マネージドBeanの作成後には、faces-config.xmlの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に対する有効なスコープは、次のとおりです。