我正在使用JSF和botstrap。 我创建了一个带有要提交的值的pop。 单击提交按钮即可调用managedBean函数,其中我已经完成了一些验证,如: -
FacesContext.getCurrentInstance()。addMessage("密码:newUserPassword2",新的FacesMessage("密码应至少包含8个字符"));
但是当我点击提交按钮时,弹出窗口将关闭,当我再次弹出窗口时,会显示消息。
如何防止弹出窗口被关闭?
答案 0 :(得分:1)
<h:commandButton id="submitPassword" action="#{managedBean.managedBeanFunction}" value="Submit">
<f:ajax execute="formId" render="formId" />
</h:commandButton>
在managedBeanFunction中,我们将标志设置为true(如果所有验证都已通过),可以从JSF访问。 在模态部分,我们将在检查标志
后编写一个脚本段<h:panelGroup layout="block" id="messages" rendered="#{managedBean.managedBeanFlag == 'true'}">
<script language="JavaScript" type="text/javascript">
// <![CDATA[
$('#closeButtonId').click();
// ]]>
</script>
</h:panelGroup>
因此,如果未设置标志,则不会调用脚本函数,因此弹出窗口不会被关闭