JavaBeat
calling cards | international calling cards | phone card
Search JavaBeat

JAVABEAT
home
tips
articles
QnA
forums
TIPS TOPICS
Java Basics
JSP
JSF
Spring
Hibernate
EJB 3.0
JMS
Log4j
Ant
Eclipse
Netbeans
ARCHIVE
2008 | 08 07 06 05 04 03 02 01
2007 | 12 11 10 09 08
Enter email address:

Latest JavaBeat Tips Delivered
OUR NETWORK
javabeat
planetoss

h:dataTable - Java Server Faces (JSF)

You may be interested...
Life Cycle of JSF Components
JSF Best Practices
New Features in JSF 2.0
Implement Internationalization and Localization in JSF
Creating simple toolbar using RichFaces tag library
Have a look at this...
JSP | JSF | Spring | Hibernate
EJB 3.0 | JMS | Log4j | Eclipse | Netbeans
Free Subscription
Enter email address:

Latest JavaBeat Tips Delivered
Author : JavaBeat
Date : Sat Apr 12th, 2008
Topic : jsf
Add to: Digg Add to: Del.icio.us Add to: Reddit Add to: StumbleUpon Add to: Slashdot Add to: Yahoo Add to: Google Add to: Blinklist Add to: Technorati Information

  • Topic : Java Server Faces (JSF)
  • Environment : J2EE 5.0, MyFaces 1.1.5
  • Level : Beginner
  • Discuss Here

Introduction to h:dataTable

Java server Faces (JSF) provides an powerful tag used for formating tables while iterating the data.h:dataTable tag is used for iterating over the collection or array of values. The below example gives you the very basic idea of how to use h:dataTable to display the data from the backing bean. The following files are used in this example :

  • dataTable.jsp
  • DataTableBean.java
  • EmployeeDetails.java
  • Address.java
  • faces-config.xml

dataTable.jsp

	

<!--
   Source : www.javabeat.net
-->
<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html" %>

<html>
    <body>
          <f:view>
              <h:form id="select">
              <h:dataTable value="#{dataTableBean.arr}" var="loc">
                  <h:column>
                      <f:facet name="header" >
                          <h:outputText value="Frameworks"/>
                      </f:facet>    
                      <h:outputText value="#{loc}"/>
                  </h:column>
              </h:dataTable>
                  
              <h:panelGrid>
                  <f:facet name="header">
                      <h:outputText value="Employee Details"/>
                  </f:facet>                  
                  <h:dataTable value="#{dataTableBean.list}" var="loc">
                      <h:column>
                          <f:facet name="header" >
                              <h:outputText value="Employee No"/>
                          </f:facet>    
                          <h:outputText value="#{loc.empNo}"/>
                      </h:column>
                      <h:column>
                          <f:facet name="header" >
                              <h:outputText value="Employee Name"/>
                          </f:facet>    
                          <h:outputText value="#{loc.empName}"/>
                      </h:column>
                      <h:column>
                          <f:facet name="header" >
                              <h:outputText value="Employee Street"/>
                          </f:facet>    
                          <h:outputText value="#{loc.empAddress.street}"/>
                      </h:column>
                      <h:column>
                          <f:facet name="header" >
                              <h:outputText value="Employee City"/>
                          </f:facet>    
                          <h:outputText value="#{loc.empAddress.city}"/>
                      </h:column>
                      <h:column>
                          <f:facet name="header" >
                              <h:outputText value="Employee Country"/>
                          </f:facet>    
                          <h:outputText value="#{loc.empAddress.country}"/>
                      </h:column>
                      <h:column>
                          <f:facet name="header" >
                              <h:outputText value="Employee PinCode"/>
                          </f:facet>    
                          <h:outputText value="#{loc.empAddress.pincode}"/>
                      </h:column>                      
                  </h:dataTable>  
                  </h:panelGrid>
              </h:form>
          </f:view>
    </body>
</html>


	

DataTableBean.java

	
/**
 * Source : www.javabeat.net
 * */
package net.javabeat.myfaces.data;

import java.util.ArrayList;
import java.util.List;
import net.javabeat.myfaces.beans.Address;
import net.javabeat.myfaces.beans.EmployeeDetails;

public class DataTableBean {
    private String[] arr;
    private List<EmployeeDetails> list;
    public DataTableBean() {
        arr = new String[3];
        arr [0] = "JSF";
        arr [1] = "Struts";
        arr [2] = "Spring";

        list = new ArrayList<EmployeeDetails>();
        EmployeeDetails emp1 = new EmployeeDetails();
        emp1.setEmpNo(1);
        emp1.setEmpName("Employee : 1");
        Address adr1 = new Address();
        adr1.setCity("Bangalore");
        adr1.setCountry("India");
        adr1.setPincode(89745);
        adr1.setStreet("First Street");
        emp1.setEmpAddress(adr1);
        list.add(emp1);

        EmployeeDetails emp2 = new EmployeeDetails();
        emp2.setEmpNo(1);
        emp2.setEmpName("Employee : 2");
        Address adr2 = new Address();
        adr2.setCity("Chennai");
        adr2.setCountry("India");
        adr2.setPincode(235432);
        adr2.setStreet("First Street");
        emp2.setEmpAddress(adr2);
        list.add(emp2);

    }

    public String[] getArr() {
        return arr;
    }

    public void setArr(String[] arr) {
        this.arr = arr;
    }

    public List<EmployeeDetails> getList() {
        return list;
    }

    public void setList(List<EmployeeDetails> list) {
        this.list = list;
    }

}

	
Address.java

package net.javabeat.myfaces.beans;

public class Address {
    private String street;
    private String city;
    private String country;
    private Integer pincode;

    public String getStreet() {
        return street;
    }

    public void setStreet(String street) {
        this.street = street;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public Integer getPincode() {
        return pincode;
    }

    public void setPincode(Integer pincode) {
        this.pincode = pincode;
    }
}

Employee Details.java

package net.javabeat.myfaces.beans;
public class EmployeeDetails {
    private Integer empNo;
    private String empName;
    private Address empAddress;

    public Integer getEmpNo() {
        return empNo;
    }

    public void setEmpNo(Integer empNo) {
        this.empNo = empNo;
    }

    public String getEmpName() {
        return empName;
    }

    public void setEmpName(String empName) {
        this.empName = empName;
    }

    public Address getEmpAddress() {
        return empAddress;
    }

    public void setEmpAddress(Address empAddress) {
        this.empAddress = empAddress;
    }    
}

faces-config.xml

	
   <managed-bean>
        <managed-bean-name>
            dataTableBean
        </managed-bean-name>
        <managed-bean-class>
            net.javabeat.myfaces.data.DataTableBean
        </managed-bean-class>
        <managed-bean-scope>
            request
        </managed-bean-scope>
    </managed-bean>
	


Favorites
AffiliatedAds.com
Buy movies
Access Control
Busby seo challenge contest
Sohbet
Chat
Webmaster Hosting Forum
Java Jobs
MyVideoLib
India News
Internet Advances
Sohbet
chat
Latest QnA
SCJD Tips
When we start a thread by applying start() method on it ,how does it knows that to execute run()method?
About Wrapper class in Java
How to configure weblogic 7.0 in MyEclipse?
Static Block and Static Initializer in Java

JavaBeat Website (2004-2008), India
javabeat | about us | planetoss
Copyright (2004 - 2008), JavaBeat