【问题标题】:JSF2+PF: Update dialog header when it opens or showsJSF2+PF:打开或显示时更新对话框标题
【发布时间】:2013-07-21 13:00:40
【问题描述】:

有没有办法在打开对话框时更新对话框标题文本?我曾经使用dynamic 属性并将其设置为true。但是由于 Form 和 Bean 状态的问题(对话框里面有一个表单),我不得不放弃它的使用。 js 属性 onShow 有一个钩子,但我不确定如何从那里更新标题文本。

这是我的对话框的简化版本。它被定义为复合组件(未显示):

<composite:interface componentType="addEditDialog">
...
</composite:interface>

<composite:implementation>
    <p:dialog>
        <f:facet name="header">
            #{cc.headerText}
        </f:facet>
        ....
    </p:dialog>
     ...
</composite:implementation>

我在支持 NamingContainer 类中有一些自定义代码,用于确定打开时的实际标题文本:

@FacesComponent("addEditDialog")
public class AddEditCompositeComponent extends UINamingContainer {

    public String getHeaderText() {
        ....
    }
}

【问题讨论】:

    标签: jsf-2 primefaces dialog modal-dialog


    【解决方案1】:

    我最终用 autoUpdate=true 将标题文本包装在 PF outputPanel 中,它对我有用。

    <p:dialog>
        <f:facet name="header">
            <p:outputPanel autoUpdate="true">#{cc.headerText}</p:outputPanel>
        </f:facet>
        ....
    </p:dialog>
    

    【讨论】:

    • 感谢它解决了我的标题自动更新问题。我一直在尝试 但这没有用
    • 我有一个问题。我单击对话框内的任何其他操作按钮,对话框的标题会自动更新。我怎样才能避免这种情况?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-10
    相关资源
    最近更新 更多