名前付き Bean は、JSF アプリケーションの開発で使用される Context and Dependency Injection (CDI) オブジェクトです。 名前付き Bean を作成した後、「ページ・データ」ビューからドラッグして、プロジェクトの JSF ページで使用することができます。名前付き Bean は、EL 式のコンテンツ・アシストでも使用可能です。
手順
EL 式で名前付き Bean をアクセス可能にするには、次のようにします。
- Java クラスをダブルクリックして、エディターでそれを開きます。
- 次のインポート・ステートメントを、パッケージ宣言の下に追加します: javax.inject.Named;。
- @Named 注釈を、パブリック・クラス定義の前に追加します。この注釈は、クラスが名前付き Bean であることを示します。
- @Named 注釈に引数を追加して、名前付き Bean に名前を指定することができます。 例えば、@Named("myBean") です。
名前を指定しない場合は、Java クラス名の先頭文字を小文字に変換した名前がデフォルトで使用されます。
- 以下のスコープ注釈を使用して、名前付き Bean のスコープを指定できます。
| オプション |
説明 |
| @ApplicationScoped |
アプリケーションがアクティブなとき、Bean を保管します。 |
| @ConversationScoped |
会話中に Bean を保管し、特定の会話に関連する状態を提供します。 |
| @Dependent |
従属スコープに属する Bean を指定し、注入されていない Bean のインスタンスを共有します。 |
| @NormalScoped |
注釈タイプが標準スコープ・タイプになるよう指定します。 |
| @RequestScoped |
HTTP 要求中に、Bean を保管します。 |
| @SessionScoped |
セッション中に Bean を保管します。 |
- プロパティーおよび他の注釈をクラスに追加します。
注釈は、「注釈」ビューにも表示されます ()。
タスクの結果
名前付き Bean クラスは、「ページ・データ」ビューの
「名前付き Bean (Named Beans)」ノードの下に表示されます。
次のタスク
名前付き Bean を作成した後、「ページ・データ」ビューから簡単にドラッグして、他の Facelet ページで再利用することができます。