为什么命令按钮关闭我的对话框
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
的初始状态是隐藏的,看起来对话框消失了,而实际上页面已完全重新加载。
我在 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
的初始状态是隐藏的,看起来对话框消失了,而实际上页面已完全重新加载。