Desative o botão e mostre a imagem de carregamento durante o processamento do JSF
Eu tenho este módulo no meu webapp onde eu preciso atualizar os catálogos.
A ideia édesativar ah:commandButton
eexposição a h:graphicImage
, ambas as ações devem acontecer logo após o clique do botão. Finalmente, quando o processo de atualização terminar, deve fazer o contrário,ocultar ah:graphicImage
, habilitar ah:commandButton
mas desta vez também mostrar um rótuloh:outputText
que diz "Update Success" ou "Update Failure".
O problema no meu código é que a imagem e o rótulo aparecem logo após o término do processo e não consigo encontrar a maneira de fazer o que descrevi acima.
Onde ou o que estou perdendo ?,
Felicidades.
<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>
ATUALIZAR
Meu ambiente de desenvolvimento:
Mojarra 2.1.6RichFaces 4.1.0.FinalTomcat 7.0.14 (teste) / Tomcat 7.0.22 (prod)