我在注册表格中有以下代码。基本上,按钮调用一个操作(一个Ejb方法和一个动作侦听器,它是一个实用方法)。当用户提交注册表单时,将出现一个primefaces对话框,告诉用户正在处理注册。提交表单后,相同的对话框将消失。这可以通过Primefaces UIBlock实现;但是,它需要启用ajax。
我考虑过使用: onstart = display一些模式对话框& onsuccess或on complete =隐藏此对话框(<p:dialog widgetVar="dialog" ...),但是这个解决方案需要为primefaces commandButton启用ajax。
对于如何在PrimeFaces commandButton中将ajax设置为false时如何实现这一点,有什么线索吗?
谢谢
<h:form id="form_register">
<p:panel id="panel_register">
<div align="center" style="padding: 5px;">
<p:commandButton id="register" ajax="true"
actionListener="#{mailBean.deliverEmail(newMember.email,newMember.name, newMember.username, newMember.password, newMember.isadmin)}"
action="#{memberController.register}" value="Register"
label="Register">
<f:setPropertyActionListener target="#{requestScope.wait}"
value="#{true}" />
</p:commandButton>
</div>
<p:blockUI block="panel_register" trigger="register">
<h:outputText value="Please wait..." />
<br />
<p:graphicImage value="#{resource['gfx/gif.gif']}" />
</p:blockUI>编辑:谢谢各位。我错误地使用了commandButton中的更新属性。现在一切都好了。
发布于 2013-02-04 19:18:32
您应该使用onstart和oncomplete操作来显示/隐藏对话框。
<p:commandButton id="register" onstart="dlg.show()" oncomplete="dlg.hide()" />https://stackoverflow.com/questions/14693832
复制相似问题