我有一个使用Primefaces的自定义对话框组件:
myDialog.xhtml
<!-- INTERFACE -->
<cc:interface>
<cc:attribute name="header" />
<cc:attribute name="id" />
</cc:interface>
<!-- IMPLEMENTATION -->
<cc:implementation>
<p:dialog header="#{cc.attrs.header}"
id="#{cc.attrs.id}" >
</p:dialog>
</cc:implementation>
我想在myDialog中插入另一个组件,但它不起作用。
example.xhtml
<puc:myDialog header="Hi" id="myDialogId">
**This code doesn't appear. Why?**
<p:dataGrid>
<p:row>
<p:column>
<p:inputText></p:inputText>
</p:column>
</p:row>
</p:dataGrid>
</puc:myDialog>
答案 0 :(得分:1)
您缺少cc:insertChildren标记。
<cc:implementation>
<p:dialog header="#{cc.attrs.header}" id="#{cc.attrs.id}" >
<cc:insertChildren />
</p:dialog>
</cc:implementation>
使用页面中复合组件标签内的任何子组件或模板文本都将在此标签在复合组件中的位置指定的位置重新组合到复合组件中:实现部分。