【发布时间】:2014-02-13 15:39:45
【问题描述】:
我在 JSF 中使用 primefaces 实现了一个复合组件。
<ui:component ...>
<cc:interface>
<cc:facet name="header"/> ...
<cc:interface>
<cc:implementation>
<p:dataTable>
<f:facet name="header">
<c:choose>
<c:when test="#{empty cc.attrs.metadata.headerText}">
<cc:insertFacet name="header" required="true"/>
</c:when>
<c:otherwise>
#{cc.attrs.headerText}
</c:otherwise>
</c:choose>
</f:facet> ...
</dataTable>
</cc:implementation>
当我在普通页面中使用它时,它可以正常工作,如预期的那样呈现数据表。
<ui:composition>
<nav:dataTable/>
<f:facet name="header">
<h:outputText value="headerText" />
</f:facet>
</ui:composition>
但是当我在使用上述复合组件的对话框中使用它时,它会抛出
component.xhtml @28,54
无法在父级中找到名为“header”的构面 id 为 'j_idt129' 的复合组件
我正在进行 ajax 调用以在单击链接时调用此对话框。该对话框具有不同的形状,并在控制台中引发此错误。有没有人面对过?任何帮助都是非常可观的。
【问题讨论】:
-
不应该将构面包含在
<nav:dataTable>标签中吗?
标签: jsf jsf-2 primefaces ajax4jsf