我遇到了一个奇怪的情况。 我有一个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的新手,非常感谢您的帮助!