как работает PrimeFaces AjaxStatus? - PullRequest
12 голосов
/ 10 мая 2011

Я пытаюсь понять индикатор PrimeFaces AjaxStatus.

Есть две грани - начальная и полная.

Кто-нибудь может мне сказать, что действительно определяет начало и завершение?

Я просто пытаюсь сделать изображение GIF индикатора видимым, когда пользователь нажимает кнопку, и исчезать, когда он нажимает другую кнопку.

Если что-то, чего я пытаюсь достичь, не имеет никакого смысла, объяснение было бы действительно полезным.

Спасибо.

1 Ответ

22 голосов
/ 15 мая 2011

Компонент ajaxStatus работает с глобально установленными компонентами. Это означает, что commandButton с атрибутом:

global="true"

запустит процесс, который будет использовать компонент ajaxStatus (обновит его вывод). При этом фасет ajaxStatus start будет работать при вызове метода слушателя и будет обновляться при достижении статуса complete, то есть когда жизненный цикл вызова заканчивается.

Как я понимаю, это не будет заботиться об успехе или неудаче процесса. Для этого статуса у вас также есть другие доступные аспекты: error и success.

<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 входит загрузочный GIF-файл AJAX:

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