1

編集ダイアログを表示する前に、読み込み中の gif を使用して進行状況を表示します。

<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>

2 つの Ajax リクエストが行われていますが、ajaxStatus には最初のリクエストのみの gif 画像が表示されます。

最初のリクエスト:

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

2 番目のリクエストで ajaxStatus が機能しないのはなぜですか? 私は PrimeFaces 3.4.2 と JSF Mojarra 2.1.13 を使用しています。

4

2 に答える 2

0

私も同じ問題を抱えていました。ajax アクションの後にコンポーネントを更新した後、p:ajaxstatus が機能しなくなりました。

これは私のために働いた:

p:ajaxstatus-id を更新リストに追加するだけです。

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

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

ajaxStatus は、「更新された」コンポーネントを再登録するために知る必要があるようです (2 番目、3 番目の ajax リクエストを監視するため)。

于 2016-04-02T16:02:48.240 に答える