如何使用Primefaces在两个对话框中处理表单提交?

时间:2018-09-10 13:17:03

标签: java primefaces

我现在有两个使用Primefaces的对话框。主要问题是,从“拳头”对话框中打开了第二个对话框,这在Primefaces中是有问题的,但可惜我现在不能更改它。

我想要什么:

我打开第一个“创建视图”对话框(使用NetBeans中的CRUD生成器生成),如果单击此“ +”号,则可以向该selectOneMenu元素添加新元素。我单击“ +”号,打开第二个对话框,输入新值,单击“保存”,现在仅关闭第二个对话框,保存该值,并用新值更新selectOneMenu元素。 / p>

我的问题:

现在,如果我单击第二个对话框上的“保存”按钮,则所有两个对话框都将关闭,然后返回“列表”视图。再次保存该值,但selectOneMenu元素也未更新。

代码:

这是commandButton,用于在第一个对话框中打开第二个对话框:

<p:commandButton id="CreateCategory1" actionListener="#{productCategoryController.prepareCreate(1)}" update="ProductCategoryCreateForProductCreateForm" icon="ui-icon-plus" oncomplete="PF('ProductCategoryCreateForProductCreateDialog').show()"/>  

这是第二个对话框的代码:

<p:dialog id="ProductCategoryCreateDlgForProductCreate" widgetVar="ProductCategoryCreateForProductCreateDialog" modal="true" resizable="false" appendTo="@(body)" header="#{bundle.CreateProductCategoryTitle}">
        <h:form id="ProductCategoryCreateForProductCreateForm">
            <p:growl id="growl" life="2000" />
            <h:panelGroup id="display">
                <p:panelGrid columns="2" rendered="#{productCategoryController.selected != null}">
                    <p:outputLabel value="#{bundle.CreateProductCategoryLabel_name}" for="name" />
                    <p:inputText id="name" value="#{productCategoryController.selected.name}" title="#{bundle.CreateProductCategoryTitle_name}" required="true" requiredMessage="#{bundle.CreateProductCategoryRequiredMessage_name}"/>
                </p:panelGrid>
                <p:commandButton actionListener="#{productCategoryController.createForNewProduct}" value="#{bundle.Save}" update="display,:growl,:ProductCreateForm" oncomplete="PF('ProductCategoryCreateForProductCreateDialog').hide()"/>
                <p:commandButton value="#{bundle.Cancel}" styleClass="cancelButton" onclick="PF('ProductCategoryCreateForProductCreateDialog').hide()" immediate="true"/>
            </h:panelGroup>
        </h:form>
    </p:dialog>

我在做什么错?这有可能吗? :)

谢谢!

0 个答案:

没有答案