弹出对话框中的P:CommandButton未提交

时间:2018-07-20 04:39:59

标签: jsf primefaces

我遇到了一个奇怪的情况。 我有一个xhtml看起来像这样:

<h:form id="frmContent">
 <p:dataTable id="tbl" ..>
</p:dataTable>

    <p:contextMenu for="tbl">
        <p:menuitem value="Delete" update="tbl"  actionListener="#{VehicleBean.deleteVehicle}"/>
        <p:menuitem value="Copy" update=":frmContent:vehicleDia:VehicleDialogContent" action="#{VehicleBean.copyVehicle}" oncomplete="PF('VehicleDialog').show();"/>
    </p:contextMenu>

     <p:dialog header="Vehicle Detail"  widgetVar="VehicleDialog" modal="true" resizable="true" appendTo="@(body)">
          <h:form id="vehicleDia">
            <p:panelGrid id="VehicleDialogContent" columns="2" >
               ...
            </p:panelGrid>
            <p:commandButton id="SaveButton" type="button" value="Save" update="VehicleDialogContent" actionListener="#{VehicleBean.saveVehicle}" oncomplete="PF('VehicleDialog').hide();">

        </h:form>
    </p:dialog>

问题是,我无法启动VehicleBean.saveVehicle()方法。 我试图删除嵌套形式“ vehicleDia”,但不起作用。

我试图将actionListener更改为action,但仍然无法正常工作。

使用h:commandButton代替p:commandButton还是很累。

现在,我没有任何线索。

PS:这是我的豆子:

@ManagedBean(name="VehicleBean")
@ViewScoped
public class VehicleBean {
    ...
    public void saveVehicle() {
    System.out.println("VehicleBean:saveVehcile is called");
    }
}

我是JSF和primeface的新手,非常感谢您的帮助!

0 个答案:

没有答案