2

我是 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。

提前致谢。

4

2 回答 2

1

根据我对 ui:param 的理解,您应该能够使用 #{attr} 访问 myComponent.xhtml 中 ui:param 的值,通过使用参数名称检查这一点https://facelets.dev.java.net/ nonav/docs/dev/docbook.html#template-param

于 2010-02-20T15:53:24.913 回答
0

根据 Inv3r53 的回答中的评论:句点在表达式语言中具有特殊的含义,可以评估表达式链。如果您希望您的页面既独立又用作组件,则在您的组合标记之外使用 ac:set ( JSF 2 doccc.attrs.attr ) 设置为attr. 如果单独使用该集合,但在包含时会被忽略(仅包含组合标签之间的内容)。

于 2011-07-27T17:20:35.110 回答