2

我知道我可以使用 ui:param 从基于模板的组合中传递一个字符串

像这样:http ://www.mkyong.com/jsf2/how-to-pass-parameters-to-jsf-2-0-template-file/

然后我可以将 XHTML 中的参数用于模板文件。

你能发送一个数组吗?

IE

<ui:insert name="header" >
   <ui:include src="/template/common/commonHeader.xhtml">

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

   </ui:include>
</ui:insert>
4

1 回答 1

5

仅当您的环境支持 EL 3.0(Tomcat 8、WildFly 8、GlassFish 4 等及更新版本)时。您可以使用新的列表表示法 #{[x,y,z]}

<ui:array name="tagList" values="#{['val1', 'val2', 'val3']}" />

如果您还没有使用 EL 3.0,那么最好的办法是使用 JSTLfn:split()将分隔字符串拆分为数组。

<ui:param name="tagArray" value="#{fn:split('val1,val2,val3', ',')}" />
于 2012-09-14T11:13:19.200 回答