Jsf datatable add row example

 

Example:

test.xhtml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core">
<h:head>
	<title>JSF add data to data table example.</title>
</h:head>
<h:body>
<h2>JSF add data to data table example.</h2>
<h:form>
<h:dataTable value="#{test.students}" var="student">
	<h:column>
		<f:facet name="header">Name</f:facet>   	
          #{student.name}
       </h:column>
	<h:column>
		<f:facet name="header">Class</f:facet>
          #{student.stuClass}
       </h:column>
	<h:column>
		<f:facet name="header">RollNo</f:facet>
          #{student.rollNo}
       </h:column>
	<h:column>
		<f:facet name="header">Age</f:facet>
          #{student.age}
       </h:column>
</h:dataTable>
 
<h3>Add Employee</h3>
<hr />
<table>
	<tr>
		<td>Name:</td>
		<td><h:inputText size="15" value="#{test.name}" /></td>
	</tr>
	<tr>
		<td>Class:</td>
		<td><h:inputText size="15" value="#{test.stuClass}" /></td>
	</tr>
	<tr>
		<td>RollNo:</td>
		<td><h:inputText size="10" value="#{test.rollNo}" /></td>
	</tr>
	<tr>
		<td>Age:</td>
		<td><h:inputText size="3" value="#{test.age}" /></td>
	</tr>
	<tr>
		<td></td>
		<td><h:commandButton value="Add Student"
			action="#{test.addStudent}" /></td>
	</tr>
</table>
 
</h:form>
</h:body>
 
</html>

Test.java

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
 
/**
 * Backing bean.
 * @author w3schools
 */
@ManagedBean(name = "test")
@SessionScoped
public class Test {
	private String name;
	private String stuClass;
	private String rollNo;
	private int age;	
 
	private static final List<Student> studentList = 
		new ArrayList<Student>(Arrays.asList(
			new Student("Vivek","MCA 3rd","MCA/07/40",29),
			new Student("Sunil","MCA 3rd","MCA/07/41",33),
			new Student("Bharat","MCA 3rd","MCA/07/42",27),
			new Student("Richi","MCA 3rd","MCA/07/43",28),
			new Student("Sahdev","MCA 3rd","MCA/07/44",28)));	
 
 
	public List<Student> getStudents(){
		return studentList;
	}
 
	public String addStudent(){
		studentList.add(new 
				Student(name, stuClass, rollNo, age));
		return null;
	}
 
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getStuClass() {
		return stuClass;
	}
	public void setStuClass(String stuClass) {
		this.stuClass = stuClass;
	}
	public String getRollNo() {
		return rollNo;
	}
	public void setRollNo(String rollNo) {
		this.rollNo = rollNo;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
}

Student.java

/**
 * Managed Bean.
 * @author w3schools
 */
public class Student {
	private String name;
	private String stuClass;
	private String rollNo;
	private int age;	
 
	public Student(String name, 
			String stuClass, String rollNo, int age) {
		this.age = age;
		this.name = name;
		this.rollNo = rollNo;
		this.stuClass = stuClass;
	}
 
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getStuClass() {
		return stuClass;
	}
	public void setStuClass(String stuClass) {
		this.stuClass = stuClass;
	}
	public String getRollNo() {
		return rollNo;
	}
	public void setRollNo(String rollNo) {
		this.rollNo = rollNo;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
}

faces-config.xml

<?xml version="1.0" encoding="windows-1252"?>
<faces-config version="2.0" 
xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xi="http://www.w3.org/2001/XInclude" 
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_2_0.xsd">
 
</faces-config>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 
    	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-app_3_0.xsd">
 
    <servlet>
        <servlet-name>faces</servlet-name>
        <servlet-class>
         javax.faces.webapp.FacesServlet
	<servlet-mapping>
        <servlet-name>faces</servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
 
</web-app>

URL:

http://localhost:7001/JSFExample42/faces/test.xhtml

Output:

JSF example42-1
 
Enter data.
JSF example42-2
 
Click on “Add Student” button.
JSF example42-3
 
Download this example.