gul*_*gab 20 jsf resourcebundle el string-concatenation internationalization
我有一个资源包,其中包含以下条目:
entry1=value1
entry2=value2
entry3=value3
Run Code Online (Sandbox Code Playgroud)
在我的JSF页面中,我试图动态地使用这些键.条目的ID来自托管bean.我认为它应该是这样的:
<h:outputText value="#{msg['entry' managedBean.entryIndex]}"/>
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
Bal*_*usC 44
如果您已经使用Servlet 3.1/EL 3.0(Tomcat 8,WildFly 8,GlassFish 4等),请使用新的EL 3.0 +=运算符:
<h:outputText value="#{msg['entry' += managedBean.entryIndex]}" />
Run Code Online (Sandbox Code Playgroud)
如果您只使用Servlet 3.0/EL 2.2(Tomcat 7,JBoss AS 6/7,GlassFish 3等),请使用新的EL 2.2功能直接调用以下方法String#concat():
<h:outputText value="#{msg['entry'.concat(managedBean.entryIndex)]}" />
Run Code Online (Sandbox Code Playgroud)
如果您还没有使用Servlet 3.0/EL 2.2,请使用<c:set>内联所需EL表达式创建另一个变量:
<c:set var="key" value="entry#{managedBean.entryIndex}" />
<h:outputText value="#{msg[key]}" />
Run Code Online (Sandbox Code Playgroud)
小智 8
这应该可以解决您的问题:
<h:outputText value="#{msg['entry'.concat(managedBean.entryIndex)]}"/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11062 次 |
| 最近记录: |