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>
后续话题
这是不可能的。
特定于最近的父组件
您可能希望将
扩展到可以执行此任务的自定义组件。您可以通过fromUIComponent
inherited方法获取、添加和删除facet。在preRenderView
事件期间执行以下操作:
UIComponent headerFacet = getFacets().remove("header");
if (headerFacet != null) {
UIComponent dialog = getItSomehowPerhapsBasedOnAnAttribute();
dialog.getFacets().put("header", headerFacet);
}
只需将其设置为
的子项,或者只需使用对话框的标题
属性即可。为什么你的
里面有一个
?谢谢,我知道。这不是我的确切代码,而是一个简化版本。这些嵌套的outputPanel
(s)是我的案例在同一个对话框中呈现多种内容类型中的一种所必需的。多亏了我对JSF组件新添加的parent
属性感到困惑。你能澄清一下它的用途吗?这个属性根本不存在。我认为这只是您的随意猜测,而没有实际查看标记文档的属性列表。请注意,我的回答中的“按规范”链接指向
标记文档,该文档在简介中清楚地描述了标记的性质,并列出了所有可用的属性(实际上只有一个)。