1

JSF2 ページで同じ CDI Named Bean の複数のインスタンスを使用したいと考えています。(contentmanager カテゴリにアクセスするためのバッキング Bean があるとしますが、同じ JSF ページに複数のカテゴリを表示したいとします) @Named アノテーションのデフォルト名をどのように「オーバーライド」して、それらの 3 o 4 インスタンスを持つことができるのでしょうかマイページで。(¿ ページで Bean を使用するための古い JSP "useBean" タグを思い出してください... この方法で同じクラスの複数のインスタンスを使用できます) beans.xml について検索しましたが、見つかりません。古い faces-context.xml の「マネージド Bean」エントリを使用できますか? それが CDI @Named Bean に適用されるのか、それとも古い非 CDI 管理 Bean にのみ使用できるのかはわかりません。

情報をありがとう、イグナシオ

4

2 に答える 2

2

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

于 2011-01-04T19:56:14.940 に答える
0

特定のスコープに複数の Bean インスタンスを含めることはできません。たとえば、1 つのリクエストで、リクエスト スコープの Bean の 2 つのインスタンスを持つことはできません。それがスコープのポイントです。

したがって、Bean をまったく管理するべきではないと思います。それらをリクエスト属性として配置し、EL 経由でアクセスするだけです。

于 2010-12-29T21:06:33.803 に答える