更新复合组件?

时间:2012-02-18 10:14:31

标签: java ajax jsf composite-component

如何告诉复合组件它应该更新另一个cc?

我试图给第一个cc提供一个“更新”属性,这个属性被传递给一个按钮。 然后我用那个id注释了snd cc。 显然也找到了id,因为我已经可以启动页面了。

但是点击按钮:没有任何反应!

输入cc:

<composite:interface>
<composite:attribute name="update"/>
</composite:interface>

<composite:implementation>
<p:commandButton value="Create" update="#{cc.attrs.update}" action="register...">
</composite:implementation>

JSF:

<cc:myInput update=":myDataTable">

<cc:myDataTable id="myDataTable">

任何人都知道如何正确更新cc输入表单按钮中的cc数据表?

日Thnx

1 个答案:

答案 0 :(得分:1)

您已指定一个以:开头的客户端ID,因此它将相对于视图根进行解释(即它成为“绝对”客户端ID)。但是,您似乎在视图根和数据表组件之间有另一个NamingContainer组件,例如<h:form>。它的ID也将以客户端ID结束。

要确定myDataTable的正确客户端ID,您需要在Web浏览器中打开该页面,右键单击查看源,然后找到<table id="xxx:myDataTable">组件{{ 1}}现在还不知道。您需要在xxx

中使用这个客户端ID
update