a4j:support – How to use action attribute?

a4j:support and action attribute

This example program demonstrates how to use action attribute to update the server values and display in the screen. In this example user inputs are passed to update method and processed. The values are updated in the h:panelGrid component.

also read:

The advantage of using a4j:support tag is it can be updated the whole region by specifying the reRender attribute.

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

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Pin It on Pinterest

Share This

Share this post with your friends!

Share This

Share this post with your friends!