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

问题描述 投票:0回答:1

我知道我可以使用 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>
jsf arraylist parameter-passing el facelets
1个回答
6
投票

仅当您的环境支持 EL 3.0(Java EE 6 / Servlet 3.0 的一部分,因此至少支持 Tomcat 8、WildFly 8、GlassFish 4 等或更高版本)。您可以使用 列表构造符号

#{[x,y,z]}

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

如果您还没有使用 EL 3.0,那么最好的选择是使用 JSTL

fn:split()
将分隔字符串拆分为数组。

<ui:param name="tagArray" value="#{fn:split('val1,val2,val3', ',')}" />
© www.soinside.com 2019 - 2024. All rights reserved.