Richfaces, el indicador a4j:status

Desde que existe la Web 2.0, se puso de moda usar Ajax para darle un aspecto de escritorio a nuestras aplicaciones Web, una de las mas usadas, el el LOADING AJAX, en PHP es facil con las librerias Prototype y jQuery, pero en Java es otra historia, pero no, no crean, desde que aparecio Richfaces, el gallo canta mas temprano, les presento el . Nunca fue mas facil implementar uno.

a4j:status es un indicador de una petición Ajax que tiene 2 estados, iniciado y detenido. El estado de inicio indica que una peticion Ajax esta en progreso, cuando la respuesta Ajax viene de regreso corresponde el componente cambia al estado detenido.

  <a4j:region id="editando">
                    <h:inputText value="#{userBean.name}">
                        <a4j:support event="onkeyup" reRender="outname" />
                    </h:inputText>
<a4j:status for="editando"
onstart="Richfaces.showModalPanel('ajaxLoadingModalBox',{width:100, top:100})"
onstop="Richfaces.hideModalPanel('ajaxLoadingModalBox')"></a4j:status>
</a4j:region>
<rich:modalPanel id="ajaxLoadingModalBox" minHeight="100"
				minWidth="200" height="80" width="400" zindex="100">
	<h2><h:outputText value="Validando...">
	</h:outputText></h2>
</rich:modalPanel>

  • hector00
    HOLA QUE TAL.

    Es muy bueno tu ejemplo, y funciona correctamente. Solo que tengo un problema en mi implementación, quiero que haga lo mismo pero cuando mando a llamar un método que me genera un reporte en pdf, hasta el momento sólo me muestra el mensaje pero ya no lo cierra. ¿Qué puedo hacer?

    Gracias, saludos
  • jotadeveloper
    Pues ....... lo veo algo opaco, podes compartir algo de código? ..... tal vez así ..
  • hector00
    Hola que tal.

    Este es mi código en la vista:


    <a:commandButton id="btnReportea" value="Imprimir Reporte"
    style=" width : 126px;" action="#{ReporteORFIS.reporteORFISpdf}">

    <a:status for="editando"
    onstart="Richfaces.showModalPanel('ajaxLoadingModalBox',{width:100, top:100})"
    onstop="Richfaces.hideModalPanel('ajaxLoadingModalBox')">


    //el modal es el de tu ejemplo
    <rich:modalPanel id="ajaxLoadingModalBox" minHeight="100"
    minWidth="200" height="80" width="400" zindex="100">

    <h:outputText value="Validando...">
    </h:outputText>


    </rich:modalPanel>

    //En el bean... ReporteORFIS.reporteORFISpdf este es parte de su código:

    public String reporteORFISpdf() {
    FacesContext context = FacesContext.getCurrentInstance();
    HttpServletRequest request = (HttpServletRequest) context
    .getExternalContext().getRequest();
    setHost("/" + request.getServerName() + ":" + request.getServerPort());

    if (tipoBienPatrimonial == 1) {
    //codigo
    } else if (tipoBienPatrimonial == 2) {
    //codigo
    } else if (tipoBienPatrimonial == 3) {
    //codigosemovientes");
    } else if (tipoBienPatrimonial == 4 || tipoBienPatrimonial == 5
    || tipoBienPatrimonial == 6 || tipoBienPatrimonial == 7) {
    //codigo
    } else {
    //codigo
    }

    return "/muebles/reporteORFISpdf.xhtml";
    }

    Espero me puedas ayudar, gracias

    saludos
blog comments powered by Disqus

© 2009 JotaDeveloper. Nuestros contenidos están bajo licencia Creative Commons mientras no se indique lo contrario,
y pueden reproducirse libremente sin más que mencionar la fuente ("JotaDeveloper") y la URL concreta del artículo original. .

This blog is powered by Wordpress and JotaDeveloperTheme.