JSF 2.0(Primefaces) - 如果要通过ID引用,则无法访问复合组件

时间:2010-12-26 13:01:02

标签: java jsf jsf-2 facelets composite-component

具有嵌入到global.jsf页面的简单复合组件(compositeComponent.jsf)。

问题是ajax无法更新此组件。 :componentId,而非formId:componentId声明都不起作用。

我应该在我的bean中编写自己的方法生成器来生成id吗?

见图。了解更多信息! alt text

1 个答案:

答案 0 :(得分:3)

在浏览器中打开页面,右键单击并选择查看源。找到生成的<h:outputText> HTML并确定其生成的客户端ID。实际上,您应该使用:前缀的此ID。让我们打赌,ID的第一部分结果是自动生成的。如果您没有为复合组件提供固定ID,则会发生这种情况。你也需要这样做:

<my:compositeComponent id="ccId" />

然后您可以按如下方式找到它:

<p:ajax update=":ccId:cCart:cId" />