【问题标题】:Multiple AJAX Status in JSF (PrimeFaces) with multiple formsJSF(PrimeFaces)中具有多种形式的多个 AJAX 状态
【发布时间】:2013-07-30 15:46:07
【问题描述】:

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

【问题讨论】:

    标签: ajax jsf primefaces multiple-forms


    【解决方案1】:

    来自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 &lt;p:blockUI&gt;。可以参考showcase for some examples

    【讨论】:

    • 我真的很喜欢 解决方案。谢谢你的想法。
    • @RichardK。乐于助人:)
    猜你喜欢
    • 2015-10-20
    • 2015-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-02
    • 2021-10-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多