3197891abd2c7abb0c8381c7f3b5de282a415e58

Jquery DataTables And Java Integration

  • Jquery DataTables is a open source plugin for creating tables in browser.
  • It has many features like sorting,server side processing, JQUERY UI theme rolling.
  • The download link for this plugin:-

http://www.datatables.net/download/

  • In this demo we have shown integration of data table with java.The Data table will load the data by making an Ajax call to load all the data.
  • The response data must contain “aaData” properties.
  • The main components in this demo are :-

Project Structure:-

Integration With Java :-

  • The Static data StudentDataService.java ,
package com.sandeep.data.service;

import java.util.ArrayList;
import java.util.List;
import com.sandeep.data.object.Student;

public class StudentDataService {

public static List<student> getStudentList() {

List<student> listOfStudent = new ArrayList<student>();

Student aStudent = new Student();

for (int i = 1; i <= 200; i++) {

aStudent = new Student();

aStudent.setName("Sandeep" + i);

aStudent.setMark("20" + i);

listOfStudent.add(aStudent);
}

return listOfStudent;

}
}
  • Data table object which will go as response in Servlet DataTableObject.java,
package com.sandeep.data.object;

import java.util.List;

public class DataTableObject {

int iTotalRecords;

int iTotalDisplayRecords;

String sEcho;

String sColumns;

List<student> aaData;

public int getiTotalRecords() {
return iTotalRecords;
}

public void setiTotalRecords(int iTotalRecords) {
this.iTotalRecords = iTotalRecords;
}

public int getiTotalDisplayRecords() {
return iTotalDisplayRecords;
}

public void setiTotalDisplayRecords(int iTotalDisplayRecords) {
this.iTotalDisplayRecords = iTotalDisplayRecords;
}

public String getsEcho() {
return sEcho;
}

public void setsEcho(String sEcho) {
this.sEcho = sEcho;
}

public String getsColumns() {
return sColumns;
}

public void setsColumns(String sColumns) {
this.sColumns = sColumns;
}

public List<student> getAaData() {
return aaData;
}

public void setAaData(List<student> aaData) {
this.aaData = aaData;
}



}
  • The Servlet which return JSON as String StudentDataServlet.java,
package com.sandeep.json.data.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.sandeep.data.object.DataTableObject;
import com.sandeep.data.object.Student;
import com.sandeep.data.service.StudentDataService;

public class StudentDataServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

public StudentDataServlet() {
super();
}

protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {

response.setContentType("application/json");
PrintWriter out = response.getWriter();
List<Student> lisOfStudent = StudentDataService.getStudentList();

DataTableObject dataTableObject = new DataTableObject();
dataTableObject.setAaData(lisOfStudent);

Gson gson = new GsonBuilder().setPrettyPrinting().create();
String json = gson.toJson(dataTableObject);
out.print(json);

}

protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {

doGet(request, response);
}

}

  • The html file with table element file ajaxDataTable.jsp,
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Ajax Data Response And JQuery data table</title>

<style type="text/css" title="currentStyle">
@import "./resource/css/demo_table_jui.css";
@import "./resource/css/jquery-ui-1.9.2.custom.min.css";
</style>
<style>
.table-container{
width:800px;
}
tr.odd{
background: #EDE4D4 !important;
}
tr.odd td.sorting_1{
background: #EDE4D4 !important;
}
tr.even td.sorting_1{
background: #fff !important;
}
</style>

</head>
<body>
<div class="table-container">
<table cellpadding="0" cellspacing="0" border="0" class="display jqueryDataTable">
<thead>
<tr>
<th>Name</th>
<th>Mark</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<script src="./resource/js/jquery-1.8.3.min.js"></script>
<script src="./resource/js/jquery.dataTables.min.js"></script>
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
<script src="./resource/js/my-demo-table-script.js"></script>
</body>
</html>
  • Java Script code for initializing the data table my-demo-table-script.js,
$(document).ready(function() {

$(".jqueryDataTable").dataTable( {
"bProcessing": false,
"bServerSide": false,
"sAjaxSource": "./StudentDataServlet",
"bJQueryUI": true,
"aoColumns": [
{ "mData": "name" },
{ "mData": "mark" }

] } );
} );


Output:-

The output of integrated table will be,

Video:-

Download Demo Code:-

Sandeep
Java Regular Expression : Matcher & Pattern Box Model in IE and FF
Sandeep

A passionate Blogger and Developer.Love to code for web application using JavaScript.At present I am exploring the Web Component Specification.

12 years ago jquery 10,300

AltStyle によって変換されたページ (->オリジナル) /