0

このモジュールはWebアプリにあり、カタログを更新する必要があります。

アイデアは、を無効にしh:commandButton表示することh:graphicImageです。両方のアクションは、ボタンがクリックされた直後に発生することになっています。最後に、更新プロセスが終了したら、別の方法で、を非表示にしてh:graphicImage有効にする必要がありますh:commandButtonが、今回h:outputTextは「更新の成功」または「更新の失敗」というラベルも表示されます。

私のコードの問題は、プロセスが終了した直後に画像とラベルが表示され、上記で説明したことを実行する方法が見つからないことです。

どこに、何が欠けているのですか?、

乾杯。

    <a4j:commandButton id="btnActualiza" value="Actualizar catálogos"
                       render="messageCatalogos actualizacionCorrecta
                       @this imgProcesando"
                       onclick="this.disabled=true;"
                       oncomplete="this.disabled=false"
                       actionListener="#{administrationBean.doImgProcesandoVisible}"
                       action="#{administrationBean.doActualizaCatalogos}"/>
    <a4j:outputPanel id="imgProcesando">
        <h:graphicImage rendered="#{administrationBean.imgProcesandoRendered}"
                        url="img/imgLoading.gif"/>
    </a4j:outputPanel>
    <h:panelGroup/>
    <h:panelGroup/>
    <a4j:outputPanel id="actualizacionCorrecta" style="font-size: 14px; color: #D17100">
        <h:outputText rendered="#{administrationBean.actualizacionCorrectaLabelRendered}"
                      value="Actualización correcta !"/>
        <h:outputText rendered="#{administrationBean.actualizacionFalloLabelRendered}"
                      value="Fallo la actualización !"/>
    </a4j:outputPanel>

アップデート

私の開発環境:

  • クロサギ2.1.6
  • RichFaces 4.1.0.Final
  • Tomcat 7.0.14(テスト)/ Tomcat 7.0.22(製品)
4

1 に答える 1

3

代わりに JS で画像を表示および非表示にする必要があります。

<h:graphicImage id="loading" url="img/imgLoading.gif" style="display:none" />

<a4j:commandButton ...
    onbegin="this.disabled=true; $('#formId\\:loading').show()"
    oncomplete="this.disabled=false; $('#formId\\:loading').hide()"
/>
于 2012-06-05T16:30:37.037 に答える