3

我的 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 消息?

4

1 回答 1

2

来自开发指南

AjaxStatus 是 ajax 请求的全局通知器。

换句话说,每个页面都有一个处理该页面上的所有 ajax 处理。如果您使用 PrimeFaces p:commandButton,您可以使用 Add and Search 按钮的onstartandonsuccess属性。例子:

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

您可以用来“显示”每个组件的 ajax 状态的另一件事是 PrimeFaces <p:blockUI>。您可以参考展示柜中的一些示例

于 2013-07-30T19:39:25.367 回答