Jsf 为要在对话组件内呈现标题的镶嵌面指定父组件

Jsf 为要在对话组件内呈现标题的镶嵌面指定父组件,jsf,primefaces,Jsf,Primefaces,如何为f:facet指定父组件以将其指定为p:dialog组件的子组件?我已经尝试过了,但是没有呈现标题 <p:dialog id="pageDialog"> <p:outputPanel> <p:outputPanel> <f:facet name="header" parent="pageDialog" > Followed Topics &

如何为
f:facet
指定父组件以将其指定为
p:dialog
组件的子组件?我已经尝试过了,但是没有呈现标题

<p:dialog id="pageDialog">
    <p:outputPanel>
        <p:outputPanel>
            <f:facet name="header" parent="pageDialog" >
                Followed Topics
            </f:facet>
        </p:outputPanel>
    </p:outputPanel>
</p:dialog>

后续话题

这是不可能的。
特定于最近的父组件

您可能希望将
扩展到可以执行此任务的自定义组件。您可以通过from
UIComponent
inherited方法获取、添加和删除facet。在
preRenderView
事件期间执行以下操作:

UIComponent headerFacet = getFacets().remove("header");

if (headerFacet != null) {
    UIComponent dialog = getItSomehowPerhapsBasedOnAnAttribute();
    dialog.getFacets().put("header", headerFacet);
}

只需将其设置为
的子项,或者只需使用对话框的
标题
属性即可。为什么你的
里面有一个
?谢谢,我知道。这不是我的确切代码,而是一个简化版本。这些嵌套的
outputPanel
(s)是我的案例在同一个对话框中呈现多种内容类型中的一种所必需的。多亏了我对JSF组件新添加的
parent
属性感到困惑。你能澄清一下它的用途吗?这个属性根本不存在。我认为这只是您的随意猜测,而没有实际查看标记文档的属性列表。请注意,我的回答中的“按规范”链接指向
标记文档,该文档在简介中清楚地描述了标记的性质,并列出了所有可用的属性(实际上只有一个)。