如何在EL表达式中嵌套另一个EL表达式?

3

我有一个Java枚举类型,我想从myEnum.name()中获取关联的i18n值。

我已测试:

<h:outputLabel value="#{rb.#{login.myEnum}}" />

(rb 是我在 JSF faces-config.xml 中定义的国际化变量)

但它并不起作用。

我想要一个 EL 表达式,它将被转换为 #{rb.KEY1},如果所选语言环境为英语、法语或德语,则在 key1clé1schlüssel1 之后。

我该怎么做?

1个回答

7

不需要尝试在#{}中使用#{}(而且这是非法的...)

您应该通过[]来访问它(就像访问映射一样)

请尝试以下方式

<h:outputLabel value="#{rb[login.myEnum]}" />

非常好,它能够工作,我没有想到这段代码...谢谢! - Olivier J.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接