创建一个具有动态标题的p:对话框

时间:2018-04-12 13:13:19

标签: primefaces dialog

我正在尝试创建一个包含动态标头的对话框。所需的行为是:

当我点击按钮时,我更新了支持bean中变量(var)的值,并调用了另一个变量(updateDialogHeader)的方法(headerDialog)文本取决于(var)的值。同一个按钮将显示一个对话框,其标题等于该对象  headerDialog

我使用以下代码:

XHTML页面

<h:form>
<p:commandButton value="?" update="formDialog" action="#{backingBean.methodUpdate (1)}" oncomplete="myDialog.show()"/>
</h:form>

<h:form id="formDialog">
<p:dialog widgetVar="myDialog" position="center" modal="true" header="#{backingBean.headerDialog}" width="400" >
</p:dialog>
</h:form>

支持bean

public void methodUpdate (int param) {
        var= param;
        headerDialog = updateHeaderDialog();
    }

public String updateHeaderDialog() {
if (var== 1) {
            return "Header one";
        }
        if (var== 2) {
            return "Header two";
        }
   return "";
}

使用rpevious代码显示叠加的对话框,第一个对话框是没有标题的对话框,第二个是所需的对话框(带有正确的标题)。再次单击按钮显示3个对话框,第一个是所需的,第二个是没有标题的对话框,第三个是带标题的所需对话框。请注意,我点击的越多,我得到的对话就越多。

请帮帮我。我不明白我在哪里误会。

0 个答案:

没有答案