PrimeFaces的AjaxStatus如何工作?

时间:2011-05-10 14:36:25

标签: ajax primefaces

我正在尝试了解PrimeFaces的AjaxStatus指标。

有两个方面 - 开始和完成。

任何人都能告诉我,真正决定开始和完成的是什么。

我只是想在用户点击按钮时使指示器GIF图像可见,并在点击另一个按钮时使其消失。

如果我想要实现的目标没有任何意义,那么解释将非常有用。

感谢。

1 个答案:

答案 0 :(得分:22)

ajaxStatus组件使用全局设置组件。这意味着commandButton具有属性:

global="true"

将触发一个将使用ajaxStatus组件的进程(将更新它的输出)。 这就是说,ajaxStatus start facet在调用listener方法时会起作用,并会在达到complete状态时更新,也就是说,当调用的生命周期结束时。

据我了解,这不会处理该过程的成功或失败。对于此状态,您还可以使用其他方面:errorsuccess

<p:ajaxStatus> 
    <f:facet name="prestart">
    <h:outputText value="Starting..." /> </f:facet>
    <f:facet name="error"> <h:outputText value="Error" />
    </f:facet>
    <f:facet name="success"> <h:outputText value="Success" />
    </f:facet>
    <f:facet name="default"> <h:outputText value="Idle" />
    </f:facet>
    <f:facet name="start"> <h:outputText value="Please Wait" />
    </f:facet>
    <f:facet name="complete"> <h:outputText value="Done" />
    </f:facet> 
</p:ajaxStatus>

有一个与PrimeFaces捆绑的ajax加载gif:

<h:graphicImage library="primefaces" name="jquery/ui/ui-anim_basic_16x16.gif" />