2010-12-29 8 views
1

JSF2ページで同じCDI名前付きBeanの複数のインスタンスを使用したいと思います。 (contentmanagerカテゴリにアクセスするためのバッキングBeanがあるとしますが、同じJSFページに複数のカテゴリを表示したいと思います)@ Namedアノテーションのデフォルト名をどのように "オーバーライド"して3つのインスタンスを持つことができるのだろうか?私のページに。 (古いJSPの "useBean"タグを覚えておくと、ページ内のBeanを使用することができます...このように同じクラスの複数のインスタンスを使用できます) beans.xmlを検索しましたが見つかりません。古いfaces-context.xml "マネージドBean"エントリを使用できますか?それがCDI @Named beanに適用されるのか、それとも古い非CDI管理Beanにしか使用できないのか分かりません。すべての情報について複数のCDI @ JSFページ内の同じクラスの名前付きBeanインスタンスの再利用

おかげで、 イグナシオ

答えて

2

Beanを@Dependent(または既存のスコープアノテーションを削除)するだけで、同じEL式でBeanを2回使用しない限り、新しい基本インスタンスを取得できます。

0

あなたが与えられた範囲内に複数のBeanインスタンスを持つことができません。たとえば、あるリクエストでは、リクエストスコープのBeanのインスタンスを2つ持つことはできません。それがスコープのポイントです。

だから、豆は一切管理してはいけないと思います。要求属性としてそれらを配置し、EL経由でアクセスしてください。

+0

私は、CDIマネージドBeanの複数の機能をさまざまなインスタンスを複製するために "インクルード"しました。私はCDIと@namedアノテーションを使用したいが、JSPページで使用される複数のBeanを含む古い方法を同様の方法で複製できることを期待していた。ご回答有難うございます。 – icordoba

関連する問題