Primefaces dialogReturn



我有一个对话框,我可以从中创建一个人实体,它可以从各种按钮调用,不同的字段可能需要根据当前视图更新。

Persons对话框如下:

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:p="http://primefaces.org/ui">
    <!--CREATE DIALOG-->
    <p:dialog header="Create Person" widgetVar="dlgCreatePersons">
        <h:form id="createPersonsForm">
            <h:panelGrid columns="1" styleClass="dlg-full-width">
                ....various fields
            </h:panelGrid>

            <h:panelGroup style="display:block; text-align:center">
                <p:commandButton value="Submit" update="@form :messages"
                                 process="@this @form" actionListener="#{person.create}"/>                                                          
            </h:panelGroup>
        </h:form>
        <p:ajax event="close" update="createPersonsForm" global="false"
                listener="#{person.reset('createPersonsForm')}"/>
    </p:dialog>
</ui:composition>

在其他一些表单上,我可能有一个命令按钮,打开这个对话框,根据当前视图更新页面的某些部分,也可能触发不同的侦听器。

  <p:commandButton value="+" type="button" onclick="PF('dlgCreatePersons').show()">                      
        <p:ajax event="dialogReturn" update="@form" listener="#{bean.doStuff}/>             
   </p:commandButton>

正如你在上面看到的,我尝试在这里应用这个例子:http://www.primefaces.org/showcase/ui/dialogFrameworkData.jsf

我理解这与从后台bean中调用的对话框有关,而不是客户端,但是我想知道在这种特定情况下是否有一种方法可以触发 dialgreturn 事件。

dialogReturn在对话框关闭时被触发。
您可以通过javascript关闭对话框与dlgCreatePersons.hide()。虽然文档中并没有提到与javascript API相关的事件。
从4.0开始,还可以从后台bean关闭对话框:

public void selectCarFromDialog(Car car) {
        RequestContext.getCurrentInstance().closeDialog(car);
}

参见PrimeFaces用户指南,对话框框架

相关内容

  • 没有找到相关文章

最新更新