Use a4j:status to display status of the request

SHARE & COMMENT :

a4j:support and a4j:status

When there is a request to the server, the client have to wait untill he gets the response. It will be nice if you give status of the server request processing. use a4j:status tag in the RichFaces to implement this feature in your webpages. In this example this tag is used with a4j:support and showing the status message while user types in the text field.

also read:

This example also used some other useful attributes in the tag. Ti display the text message use starttext and stoptext. if you want to use image instaed of displaying text, the use

<a4j:status>
         <f:facet name="start">
                <h:graphicImage  value="process.gif"/>
          </f:facet>
 </a4j:status>

.

Display the different styles using startStyle and stopstyle attributes.

richfaces.jsp

<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<%@ taglib prefix="rich" uri="http://richfaces.org/rich" %>
<%@ taglib prefix="a4j" uri="http://richfaces.org/a4j"%>
<html>
    <body>
        <f:view>
            <h:form id="jbForm1">
                <h:outputText value="Employee id : "/>
                <h:inputText value="#{richBean.empId}">
                    <a4j:support event="onkeyup" reRender="output" action="#{richBean.update}" />
                </h:inputText>
            </h:form>
            <h:panelGrid id="output">
                <h:column>
                    <a4j:status startText="Processing...." stopText="Processed." startStyle="color:green" stopStyle="color:red"/>
                </h:column>
                <h:column>
                    <h:outputText value="Updated Values : "/>
                    <h:outputText value="#{richBean.name}"/>
                    <h:outputText value="#{richBean.status}"/>
                </h:column>
            </h:panelGrid>

        </f:view>
    </body>
</html>

JavaBeatRichfacesBean.java

package javabeat.net.richfaces;

import java.util.HashMap;
import java.util.Map;

public class JavaBeatRichfacesBean {
    private String name;
    private Integer empId;
    private String status;

    public Integer getEmpId() {
        return empId;
    }

    public void setEmpId(Integer empId) {
        this.empId = empId;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public void update(){
        Map<integer,String> map = new HashMap<integer,String>();
        map.put(1, "Employee One");
        map.put(2, "Employee Two");
        map.put(3, "Employee Three");
        map.put(4, "Employee Four");
        this.name = map.get(this.empId);
        if (this.name == null || this.name.trim().length() == 0)
        {
            this.status = "No Matching Found";
        }
    }

}

faces-config.xml

<?xml version='1.0' encoding='UTF-8'?>
<faces-config version="1.2"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
    <managed-bean>
        <managed-bean-name>richBean</managed-bean-name>
        <managed-bean-class>javabeat.net.richfaces.JavaBeatRichfacesBean</managed-bean-class>
        <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>
</faces-config>

Comments

comments

About Krishna Srinivasan

He is Founder and Chief Editor of JavaBeat. He has more than 8+ years of experience on developing Web applications. He writes about Spring, DOJO, JSF, Hibernate and many other emerging technologies in this blog.

Speak Your Mind

*

Close
Please support the site
By clicking any of these buttons you help our site to get better