2013-05-21 2 views
1

Перед отображением диалогового окна редактирования загрузочный gif используется для отображения прогресса.p: ajaxStatus не работает для второго запроса

<p:dataTable id="accounts"> 
    <p:column> 
     <p:commandButton 
      action="#{accountsBean.initializeAccount}" process="@this" 
      oncomplete="accountsDialogWidget.show()" update=":accountsDialog">         
     </p:commandButton> 
    </p:column> 
</p:dataTable> 

<p:dialog id="accountsDialog" 
    widgetVar="acccountsDialogWidget" dynamic="true" modal="true">   
    <h:form id="objectWizardForm"> 
     ... 
    </h:form> 
</p:dialog> 

ajaxStatus компонент заключается в следующем:

<p:ajaxStatus id="loading"> 
    <f:facet name="start"> 
     <h:graphicImage name="loading.gif" library="images" styleClass="loadingStatus" /> 
    </f:facet> 
    <f:facet name="complete"> 
     <h:outputText value="" /> 
    </f:facet> 
</p:ajaxStatus> 

Есть два запроса Ajax быть сделаны, но ajaxStatus отображает рисунок только для первого.

Первый запрос:

form form 
form:agents_input WindowsAD 
form:accounts:3:j_... form:accounts:3:j_idt71 
form:accounts_sele... 
form:type_input WINDOWS 
javax.faces.ViewState e2s1 
javax.faces.partial.ajax true 
javax.faces.partial.execute form:accounts:3:j_idt71 
javax.faces.partial.render accountsDialog 
javax.faces.source form:accounts:3:j_idt71 

Второй запрос:

accountsDialog accountsDialog 
accountsDialog_contentLoa... true 
form form 
form:agents_input WindowsAD 
form:accounts_sele... 
form:type_input WINDOWS 
javax.faces.ViewState e2s1 
javax.faces.partial.ajax true 
javax.faces.partial.execute accountsDialog 
javax.faces.partial.render accountsDialog 
javax.faces.source accountsDialog 

Почему не ajaxStatus работа для второго запроса? Я использую PrimeFaces 3.4.2 и JSF Mojarra 2.1.13.

+1

Возможный дубликат [Как показать ajaxstatus для динамических компонентов Primefaces] (http://stackoverflow.com/questions/15099688/how-to-show-ajaxstatus-for-dynamic-primefaces-components) – BalusC

+0

Это не совсем то, тот же вопрос, но ваш комментарий помог мне найти причину. Пожалуйста, сформулируйте короткий ответ, чтобы отметить его как решение. Может быть, этот вопрос поможет другим. Если вы считаете, что этот вопрос не должен существовать, я удалю вопрос. – Seitaridis

ответ

0

У меня была та же проблема. После обновления компонентов после действия ajax p: ajaxstatus больше не работал.

Это работает для меня:

Просто добавьте р: ajaxstatus идентификатор в списке обновлений:

<p:ajaxStatus id="aj">...</p:ajaxStatus> 

<h:form> 
    <p:commandButton ... update=":aj">...</p:commandButton> 
</h:form> 

теперь работает снова, кажется, что ajaxStatus нужно знать о «обновленный» компоненты для их регистрации снова (для мониторинга второго, третьего ... ajax-запросов).

Смежные вопросы