考虑以下的 enum
枚举类型。
public enum Constants
{
PAGE_LINKS(10);
//Other constants as and when required.
private final int value;
private Constants(int value){
this.value = value;
}
public int getValue(){
value;
}
}
这个
枚举
被放置在一个应用程序作用域的bean中,如下所示:@ManagedBean
@ApplicationScoped
public final class ConstantsBean
{
private Constants constants;
public ConstantsBean() {}
public Constants getConstants() {
return constants;
}
}
如何在EL中访问
PAGE_LINKS
的值?<p:dataGrid pageLinks="#{}".../>
#{}
中应该写什么?这是可能的吗?
编辑:
按以下方式修改bean:
@ManagedBean
@ApplicationScoped
public final class ConstantsBean
{
public ConstantsBean() {}
public int getValue(Constants constants) {
return constants.getValue();
}
}
然后可以像这样在EL中访问:
<p:dataGrid pageLinks="#{constantsBean.getValue('PAGE_LINKS')}".../>
某种程度上这个方法可行,不过我不相信这种丑陋的方式。
#{constantsBean.constants.value}
应该适用于您。 - Sazzadur Rahaman