2011-12-29 69 views
0

我有一个JSF 2.0复合组件,如下所示:复合组件动作属性重用?

<composite:interface> 
    <composite:attribute name="id"/> 
    <composite:attribute name="action1" targets="#{cc.clientId}:#{cc.attrs.id}_1" requiered="true"/> 
    <composite:attribute name="action2" targets="#{cc.clientId}:#{cc.attrs.id}_2" requiered="true"/> 
</composite:interface> 

<composite:implementation> 
    <h:commandLink id="#{cc.attrs.id}_1" value="command link 1"/> 
    <h:commandLink id="#{cc.attrs.id}_2" value="command link 2"/> 
</composite:implementation> 

,你可以看到我现在用的命名两种不同的属性(动作1,动作2),并将其定位于两个commandLink的。

我想要做的是:我不想动作1 & action2,我想只有一个名为“action”的属性,并将这个动作重用于两个commandLinks。

谢谢。

回答

1

您可以在targets属性中指定空格分隔的客户端ID列表。也the <composite:attribute> tag documentation参见:

如果该元素有一个方法签名属性,对象的属性的值必须被解释为的空间(未标签)相对于顶部(客户ID 分隔列表<composite:implementation>部分中的组件)。

+0

感谢BalusC做到了。 – 2011-12-29 21:08:59