gpt4 book ai didi

java - Primefaces : Ajax Call Inside p:dialog is not working

转载 作者:行者123 更新时间:2023-12-02 00:26:04 25 4
gpt4 key购买 nike

我试图从对话框执行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>

Java代码

/**
* 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" 属性通常可以解决此问题。

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

关于java - Primefaces : Ajax Call Inside p:dialog is not working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10027751/

25 4 0