我的<p:dataTable var="object">
里面有<p:commandLink>
。在我的bean中,我有一个Map
,我希望在<p:commandLink value>
中显示其值。我需要将密钥传递给此映射,该映射是"someString"
和#{object.firstName}
的串联。我想这样的工作:
value="#{bean.map['someString'+object.firstName]}"
我怎样才能做到这一点?
答案 0 :(得分:2)
您可以通过创建一个新的EL变量来连接EL中的字符串,其中字符串和EL表达式只是内联。您可以使用<c:set>
。
<c:set var="key" value="someString#{object.firstName}" />
<p:commandLink value="#{bean.map[key]}" ... />
或者,如果你已经在EL 2.2上支持调用直接方法,那么你可以直接使用String#concat()
方法。
<p:commandLink value="#{bean.map['someString'.concat(object.firstName)]}" ... />
如果您尚未使用EL 2.2,但使用的是EL 2.1,则可以随时安装JBoss EL以获得相同的功能。