按下提交按钮,bean 首先检查有效值,如果验证失败,则会显示一个对话框。当进程正在运行时,另一个会话提交一个按钮按下并且 bean 检查标志并需要呈现一个不同的对话框。
是否有一个命令按钮与两个不同的确认对话框交互,命令按钮“更新”与确认对话框交互
我的问题与其他示例/解决方案的主要区别在于,只有一个按钮。提交按钮上的 update="confirmValid" 仅适用于第一个按钮推送。
从“第二个”按钮按下成功调用 bean,forceRequest 方法不显示对话框
<p:commandButton id="myButton" update="confirmValid growl"
value="Submit"
actionlistener="#{message.sendMessage}"
...
/>
当请求无效时显示此对话框
<p:confirmDialog header="#{message.invalidValuesHdr}"
id="confirmValidData" message="#{message.invalid}"
wigdetVar="confirmValidData">
<p:commandButton value="Ok" update="growl" oncomplete="PF('confirmValidData').hide()"
</p:confirmDialog>
更新进程标志时显示此对话框
<p:confirmDialog header="#{message.forceRequestHdr}"
id="confirmValidData" message="#{message.invalid}"
wigdetVar="confirmForce">
<p:commandButton value="Ok" update="growl" oncomplete="PF('confirmForce').hide()"
</p:confirmDialog>
豆:
@ViewScoped
@Override
public void sendMessage() {
if (....)
forceRequest();
}
public void forceRequest(){
FacesMessage message = new
FacesMessage(FacesMessage.SEVERITY_INFO,"Message Title", "Message body");
RequestContext.getCurrentInstance().showMessageInDialog(message);
}
Displays a dialog the method below does nothing, which is the issue
public void forceRequest(){
RequestContext context = RequestContext.getCurrentInstance();
context.openDialog("Confirm");
context.execute("PF('confirmForce').jq.click();");
}
faces-config.xml 已更新