通过ui:param将数组列表发送到JSF ui:composition模板

3
我知道可以使用ui:param从基于模板构建的组合中传递字符串。例如:http://www.mkyong.com/jsf2/how-to-pass-parameters-to-jsf-2-0-template-file/。然后,我可以在模板文件的XHTML中使用该参数。但是,您是否可以发送一个数组呢?例如:
<ui:insert name="header" >
   <ui:include src="/template/common/commonHeader.xhtml">

    <ui:array name="tagArray" values="val1, val2, val3" />

   </ui:include>
</ui:insert>
1个回答

6
只有当您的环境支持EL 3.0(如Tomcat 8、WildFly 8、GlassFish 4等以及更新版本),您才能使用新的列表表示法 #{[x,y,z]}。请参考此处了解更多详情。
<ui:array name="tagList" values="#{['val1', 'val2', 'val3']}" />

如果您还没有使用EL 3.0,那么最好的选择是使用JSTL的fn:split()函数将分隔符分隔的字符串拆分为数组。
<ui:param name="tagArray" value="#{fn:split('val1,val2,val3', ',')}" />

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