【发布时间】:2016-05-12 14:06:08
【问题描述】:
我在应用程序中的几乎所有 jsf bean 中都使用了一个 jsf 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部分是完全硬编码的字符串,而不是字符串中内联的变量?
标签: jsf managed-bean