显示ConfirmDialog取决于方法的结果



这是我的commandButton:

<p:commandButton value="Foo" update="panel1,panel2"
                    action="#{fooBean.add()}" />

方法fooBean.add()正在检查我想要添加的对象是否已经在数据库中-如果它已经在base中,它返回true,如果不是false。

我想做的是显示一个成功的消息,如果fooBean.add()将返回false后点击按钮。

如果该消息像ConfirmDialogOK选项关闭弹出窗口,那将是很好的。像这样:http://www.primefaces.org/showcase/ui/confirmDialog.jsf

有什么可以帮助我的吗?

如果我理解正确的话,您只是想显示一个对话框,以便用户确认操作成功。你可以简单地使用咆哮,但这里有一个使用你的方法的解决方案。

名为. xhtml的

<p:commandButton value="Foo" action="#{fooBean.add()}" />
<p:dialog widgetVar="dialog" modal="true">
    <p:commandButton value="Ok" icon="ui-icon-close" oncomplete="dialog.hide()" /> 
</p:dialog>

fooBean

public void add() {
    // do stuff
    if(isInDB)
        RequestContext.getCurrentInstance().execute("dialog.show()");
}

这将在您的项目已经在数据库中找到之后打开对话框。不过,如果用户能得到一个更微妙的通知,而不需要额外的点击,可能会更方便。

最新更新