Primefaces : Ajax Call Inside p:dialog 不起作用



我正在尝试从对话框执行ajax方法,但它没有得到执行。

<p:dialog header="Add Product" widgetVar="addProductDialog" modal="true" height="300" width="700" dynamic="true">
   <p:toolbar styleClass="toolBar">
      <p:toolbarGroup align="left">
         <p:commandButton styleClass="grn_actbttn" value="Cancel" onclick="addProductDialog.hide();" />
      </p:toolbarGroup>
      <p:toolbarGroup align="right">
         <p:commandButton styleClass="grn_actbttn" id="addproduct" value="Add Products" actionListener="#{customerProductsBean.saveCustomerProducts}"  oncomplete="addProductDialog.hide();" />
      </p:toolbarGroup>
   </p:toolbar>
</p:dialog>

爪哇代码

/**
 * Method used to save selected Customer Product from Add Product Dialog 
 * @param actionEvent
 */
public void saveCustomerProducts(ActionEvent actionEvent) {
// DB call to save to database
}

是不是说 p:dialog 不支持 AJAX 调用?

对话框在页面上呈现后,将移出窗体。 这是客户端小部件用于Primefaces对话框的工作方式的副作用。

appendToBody="true"属性添加到对话框通常会解决此问题。

如果这不起作用,请确保您的对话框没有被表单包围,而是在对话框中放置一个表单元素。

最新更新