动态 ResourceBundle 键的 EL 中的字符串串联
我有一个包含如下条目的资源包:
entry1=value1
entry2=value2
entry3=value3
在我的 JSF 页面中,我尝试动态使用这些键。条目的 ID 来自托管 bean。我认为应该是这样的:
<h:outputText value="#{msg['entry' managedBean.entryIndex]}"/>
我怎样才能实现这个目标?
I have a resource bundle with entries like these:
entry1=value1
entry2=value2
entry3=value3
In my JSF page I'm trying to use these keys dynamically. The ID of the entry is coming from a managed bean. I think it should be something like this:
<h:outputText value="#{msg['entry' managedBean.entryIndex]}"/>
How can I achieve this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果您已经使用 Servlet 3.1 / EL 3.0(Tomcat 8、WildFly 8、GlassFish 4 等),请使用新的 EL 3.0
+=
运算符:如果您仅使用 Servlet 3.0 / EL 2.2(Tomcat 7、JBoss AS 6/7、GlassFish 3 等),利用新的 EL 2.2 功能直接调用
String#concat()
等方法:如果您甚至不知道在 Servlet 3.0 / EL 2.2 上,使用
创建另一个内联所需 EL 表达式的变量:If you're already on Servlet 3.1 / EL 3.0 (Tomcat 8, WildFly 8, GlassFish 4, etc), make use of new EL 3.0
+=
operator:If you're only on Servlet 3.0 / EL 2.2 (Tomcat 7, JBoss AS 6/7, GlassFish 3, etc), make use of new EL 2.2 ability to directly invoke methods such as
String#concat()
:If you're even not on Servlet 3.0 / EL 2.2 yet, make use of
<c:set>
to create another variable with the desired EL expression inlined:这应该可以解决您的问题:
This should solve your issue:
这对我有用:在 [] 之外连接
Here's what worked for me : concat outside of []
我认为您必须编写一个facelets函数
concat(str1, str2)
。I think you'll have to write a facelets function
concat(str1, str2)
.