2010-02-12 31 views
2

我是新来的JSF,我试图以显示与UI中的JSF2组件:包括我们可以使用ui:include在JSF中来显示一个组件吗?

<ui:include src="myComponent.xhtml"> 
    <ui:param name="attr" value="aValue"/> 
</ui:include> 

该组件是显示成功,但参数是传递到JSF2组件。属性attr在组件的接口中定义。

它的工作原理,如果我用我的组件是这样的:

<ez:myComponent attr="aValue"/> 

使用UI中的点:包括是使用类似的东西:

<ui:include src="#{componentName}"/> 

我做得不支持还是有另一种方式来显示我的组件,并填写参数?

我正在使用GlassFish v3。

在此先感谢。

+0

不太确定你在问什么。您是否尝试使用?如果是这样,你的代码的其余部分是什么,你期望看到这个参数集? – Damo 2010-02-14 08:50:17

+0

很抱歉,如果不清楚。我想动态地包含一些JSF2组件,我想知道它是否可能。组件的名称由我自己的bean提供。 在我的测试过程中,如果我声明我的组件为,组件将正确显示。但是我不能用这种语义动态地显示一个组件。 因此,我尝试使用ui:include并显示组件,但属性“attr”的值未传递给组件。 对于组件,我们假设它只是。 – Awano 2010-02-15 09:29:20

回答

1

从我的UI的理解:PARAM你应该能够接取UI的价值:通过使用#{} ATTR在myComponent.xhtml PARAM 通过使用PARAM名 检查了这一点https://facelets.dev.java.net/nonav/docs/dev/docbook.html#template-param

+0

那么我试图把ui:param的cc.attrs.attr的名称,以便它对应于我的组件使用。它不起作用。我想我现在想要达到的目标是不可能的。 – Awano 2010-02-22 17:27:05

0

基础的关于Inv3r53的回答中的评论:句子在表达式语言中具有特殊含义以评估表达链。如果您希望自己的页面既可以独立使用,也可以用作组件,则可以使用组合标记外的c:set(JSF 2 doc)将cc.attrs.attr设置为attr。如果是独立的,该集合将被使用,但是当被包含时被忽略(仅包括组合标签之间的东西)。

相关问题