【发布时间】:2021-12-12 05:17:30
【问题描述】:
按下提交按钮,bean 首先检查有效值,如果验证失败,则会显示一个对话框。当进程正在运行时,另一个会话提交一个按钮按下并且 bean 检查标志并需要呈现一个不同的对话框。
是否有一个命令按钮与两个交互 不同的confirmDialogs,commandButton“update”与 确认对话框
我的问题与其他示例/解决方案的主要区别在于,只有一个按钮。提交按钮上的 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 已更新
【问题讨论】:
-
我只能使用 PrimeFaces 6.1,remoteCommand 示例需要 Primefaces.current