私はjsf Beanをアプリケーションのすべてのjsf beanに使用しています。Beanインスタンスをインジェクトするときに、Bean名をハードコードしたくないのです。それを変数にして、どこでも変数を使用することは可能ですか?Beanインジェクションで変数名を設定することはできますか?
@ManagedBean (name=ApplicationInfo.BEAN_NAME_APPLICATION_INFO, eager=true)
@ApplicationScoped
@SuppressWarnings("serial")
public class ApplicationInfo extends ParentBean
{
public static final String BEAN_NAME_APPLICATION_INFO="applicationInfo";
.....
}
参照クラス
@ManagedBean
@ViewScoped
public class SearchResultsBean extends ParentBean
{
private static final long serialVersionUID = 1L;
@ManagedProperty (value="#{ApplicationInfo.BEAN_NAME_APPLICATION_INFO}")
private ApplicationInfo applicationInfo;
....
}
はそれも可能ですか?
おかげ
管理プロパティ値の 'ApplicationInfo.BEAN_NAME_APPLICATION_INFO'部分が、文字列にインライン化された変数ではなく、完全にハードコードされた文字列であることを認識していますか? – BalusC