在我的ResourceBundle中,我有以下条目:
datasourcegroup.KUNDEN=Kunden
datasourcegroup.INKASSO=Inkasso
datasourcegroup.INTERESSENTEN=Interessenten
datasourcegroup.WARN=Warnadressen
键名的大写部分实际上是相关枚举类型的值:
public enum DatasourceGroup {
KUNDEN,
INKASSO,
INTERESSENTEN,
WARN;
}
现在在我的Facelets页面中,我想访问这些条目,如果我使用静态键名,这不是问题,如下所示:
<h:outputText value="#{msg['datasourcegroup.KUNDEN']}" />
但我真正想做的是从变量中获取keyname的大写部分,所以“语义上”它将是这样的:
<h:outputText value="#{msg['datasourcegroup.#{sessionBean.datasourceGroup}']}" />
但是我知道这是不可能的,因为EL表达式不能嵌套。
我有什么建议可以接近这个吗?
提前致谢!
问候 马里奥
编辑这是我采用的解决方案:
public String getDatasourceGroupLabel(DatasourceGroup group) {
return "datasourcegroup."+group.toString();
}
<h:outputText value="#{msg[sessionBean.getDatasourceGroupLabel(group)]}" />