我想通过支持调用 confirmDialog
。这段代码工作得很好,但是如何设置消息并通过支持设置confirmDialog的actionlistener?有两个条件,而:
怎么做?谢谢。
<p:commandButton value="Execute" icon="ui-icon-circle-check" update="frmContent" actionListener="#{backing.validate}" />
<p:confirmDialog id="cfmDlg" widgetVar="wvCfmDlg" global="true" >
<p:commandButton value="Yes" type="button" styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
<p:commandButton value="No" type="button" styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
</p:confirmDialog>
在支持:
public void validate() {
if(mode.equals("1")) {
System.out.println("OK");
} else {
//call confirmDialog and set message + action listener
RequestContext context = RequestContext.getCurrentInstance();
context.execute("wvCfmDlg.show();");
}
}
最佳答案
如果我正确理解你的问题..我会这样做。
xhtml
<p:commandButton style="display: none"
widgetVar="confirmButton"
actionListener="#{backing.yesFunction}" >
<p:confirm header="Confirmation" message="Are you sure?" />
</p:commandButton>
<p:commandButton value="Execute"
actionListener="#{backing.validate}" />
<p:confirmDialog id="cfmDlg" global="true" >
<p:commandButton value="Yes" />
<p:commandButton value="No" />
</p:confirmDialog>
bean
public void validate() {
if(mode.equals("1")) {
System.out.println("OK");
} else {
RequestContext context = RequestContext.getCurrentInstance();
context.execute("PF('confirmButton').jq.click();");
}
}
基本上,您以通常的方式添加一个隐藏按钮(使用 p:confirm),然后通过 jQuery 单击它。
关于java - Primefaces 从 Backing 调用 ConfirmDialog,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21823859/