我是JSF的新手,我正在尝试使用ui:include
显示JSF2组件<ui:include src="myComponent.xhtml">
<ui:param name="attr" value="aValue"/>
</ui:include>
组件已成功显示,但参数未传递给JSF2组件。属性attr在组件的接口中定义。
如果我以这种方式使用我的组件,它会起作用:
<ez:myComponent attr="aValue"/>
使用ui:include的重点是使用类似的东西:
<ui:include src="#{componentName}"/>
我是在做一些不受支持的事情,还是有其他方法来显示我的组件并填充参数?
我正在使用GlassFish v3。
提前致谢。
答案 0 :(得分:1)
从我对ui:param的理解中你应该能够访问ui:param的值 在Component.html中使用#{attr},使用param名称 看看https://facelets.dev.java.net/nonav/docs/dev/docbook.html#template-param
答案 1 :(得分:0)
基于Inv3r53答案中的注释:句点在表达式语言中具有特殊含义,用于评估表达式链。如果您希望自己的网页既可以独立使用又可以用作组件,那么请在撰写标记之外使用c:set(JSF 2 doc)将cc.attrs.attr
设置为attr
。该集合将在独立时使用,但在包含时将被忽略(仅包括组合标签之间的内容)。