为什么命令按钮关闭我的对话框

Why the command button close my dialog box

我在 primefaces 6.0 上工作,我有一个对话框,由命令按钮调用,我在这个对话框中有几个元素和 2 个命令按钮,一个用于关闭对话框,另一个(commandButton id= "enableDisableButton") 是我程序的一个选项。它必须显示 True 或 False,如 select 布尔按钮。但是当我点击按钮时,它关闭了我的对话框,我不明白为什么!

<p:dialog header="Modal Dialog" widgetVar="rulesDialogBox" modal="true" 
                    width="540" height="400" minWidth="540" minHeight="400"
                    dynamic="true">

    <p:panelGrid columns="1" style="border:none !important;">
        <h:outputText id="selectedFile" value="#{eventConfigurationView.loadedFile}"/>

        <p:fileUpload label="#{msgs.rule_browse}" fileUploadListener="#{eventConfigurationView.handleFileUpload}" mode="advanced" 
                      update="selectedFile" auto="true" sizeLimit="100000" allowTypes="/(\.|\/)(xls)$/"
                      minHeight="30px" minWidth="110px"
                      style="margin-bottom:20px;" />
                      <!-- allowTypes="/(\.|\/)(xls|csv|xlsx)$/" -->

        <p:commandButton value="#{msgs.download}" ajax="false" onclick="PrimeFaces.monitorDownload(start, stop);" style="margin:5px;" 
                            minHeight="30px" minWidth="110px">
            <p:fileDownload value="#{eventConfigurationView.file}" />
        </p:commandButton>

        <p:commandButton id="enableDisableButton" 
                            value="#{eventConfigurationView.myEnable}" style="margin:5px;" 
                            action="#{eventConfigurationView.buttonAction}"
                            ajax="false"
                            minHeight="30px" minWidth="110px">
        </p:commandButton>

        <p:commandButton value="#{msgs.close}" onclick="PF('rulesDialogBox').hide();" type="button" style="margin:5px;" 
                            minHeight="30px" minWidth="110px"/>
    </p:panelGrid>
</p:dialog>
    public void buttonAction() {
        System.out.println("buttonAction");
   }

假设您引用 p:commandButton id="enableDisableButton",您已经通过 ajax="false" 禁用了 ajax。 这会在点击时重新加载整个页面。由于 p:dialog 的初始状态是隐藏的,看起来对话框消失了,而实际上页面已完全重新加载。