具有多种形式的JSF(PrimeFaces)中的多个AJAX状态

时间:2013-07-30 13:11:19

标签: ajax jsf primefaces multiple-forms

我的JSF中有多个命令按钮......它的数据库搜索有一个“搜索”按钮,另一个“添加”按钮。

当点击“搜索”按钮时,我想要显示一个状态,所以我将下面的ajaxStatus代码添加到我的outputPanel,它在form1中显示我的搜索结果。

<p:ajaxStatus  onstart="statusDialog1.show();" onsuccess="statusDialog1.hide();"/>

对话框

<p:dialog modal="true" widgetVar="statusDialog1" header="Searching ... Please wait"   
                    draggable="false" closable="false" resizable="False">  
<p:graphicImage value="/resources/ajax-loader.gif" />  
</p:dialog>

当单击“添加”按钮时,会打开另一个具有form2的对话框,现在问题是当我点击“添加”按钮statusDialog1也会显示,我希望仅在“搜索”时显示该状态单击按钮。

如何在同一页面中使用多个agaxStatus消息?

1 个答案:

答案 0 :(得分:2)

来自dev guide

  

AjaxStatus是ajax请求的全局通知程序。

换句话说,每页有一个处理该页面上所有ajax处理的页面。如果您使用的是PrimeFaces p:commandButton,则可以使用“添加和搜索”按钮的onstartonsuccess属性。示例:

<p:commandButton value="Add" onstart="statusDialog1.show();" onsuccess="statusDialog1.hide()"/>
<p:commandButton value="Search" onstart="statusDialog2.show();" onsuccess="statusDialog2.hide()"/>

您可以用来“显示”每个组件的ajax状态的另一件事是PrimeFaces <p:blockUI>。您可以参考showcase for some examples