gpt4 book ai didi

java - Primefaces 从 Backing 调用 ConfirmDialog

转载 作者:搜寻专家 更新时间:2023-11-01 01:17:04 25 4
gpt4 key购买 nike

我想通过支持调用confirmDialog。此代码完美运行,但我如何通过支持设置消息并设置 confirmDialog 的 actionlistener?有两个条件,而:

  • 用户在checkbox上勾选了选项A(我省略了代码),那么应该是直接打印一个文本到console。 --> 这个由下面的代码完成
  • 用户选中复选框上的选项 B,然后应该显示 confirmDialog,当用户按下 YES 按钮时,应该在后台调用另一个函数。

该怎么做?谢谢。

<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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com