我的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消息?
答案 0 :(得分:2)
AjaxStatus是ajax请求的全局通知程序。
换句话说,每页有一个处理该页面上所有ajax处理的页面。如果您使用的是PrimeFaces p:commandButton
,则可以使用“添加和搜索”按钮的onstart
和onsuccess
属性。示例:
<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