Home » Java » Enterprise Java » How to create JQuery DataTable using JSON and servlet

About Nitin Kumar

Nitin Kumar works as a Software Architect , predominately focus on Agile, TDD, Service Oriented Architecture, Grails and JEE. Besides working in software development, He writes technical articles and watches and studies new technologies

How to create JQuery DataTable using JSON and servlet

In this article I’ll introduce the basic coding that require to create JQuery DataTable using JSON passed by simple servlet. DataTable is very powerful JQuery based grid with advance features which can be build in short span of time with customize features.
 
 
 
 
 
 

Installation

  1. Download Latest JQuery DataTable download
  2. Above download will provide two JQuery plugin jquery.js and queryTables.js
    <script type="text/javascript"
    charset="utf-8" src="/DataTables/media/js/jquery.js"></script>
    <script type="text/javascript"
    charset="utf-8" src="/DataTables/media/js/jquery.dataTables.js"></script>
  3. Default stylesheet which shipped with latest DataTable download package
    <style type="text/css" title="currentStyle">
     @import "../resources/css/demo_table.css";
    </style>

Note:You can download full source code from Github link

Creating the DataTable

We can write below code to create the basic DataTable with data

feedSummary.jsp

<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
var oTable = $('#tableId').dataTable( {
"processing": true,
"ajax": {
"url": "/FeedSummaryUpdate/FeedServlet",
"dataSrc": "demo",
"type": "GET"
}
} );
} );
</script>

$(document).ready will ready to execute the javascript and var oTable = $(‘#tableId’).dataTable says that write DataTable on tableId place.

DataTables will adding sorting, filtering, paging and information to your table by default, providing the end user of your web-site with the ability to control the display of the table and find the information that they want from it as quickly as possible.

The pointer tableId and column name will be defined in table tag as below

feedSummary.jsp

<table cellpadding="0" cellspacing="0" border="0"
id="tableId">
<thead>
<tr>
<th width="10%">First Name</th>
<th width="10%">Last Name</th>
<th width="10%">Address 1</th>
<th width="10%">Address 2</th>
</tr>
</thead>
</table>

Above DataTable code invoke FeedServlet which will return JSON string as defined below

FeedServlet.java

protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
String json = "{ \"demo\":[[\"First Name\",\"Last Name\","+
+\"Address1\",\"Address2\"],[\"First Name\",\"Last Name\",\"Address1\",\"Address2\"]]}";
out.println(json);
}

Now either we can use servlet annotation or web.xml as below to register above FeedServlet

Web.xml

<servlet>
<description></description>
<display-name>FeedServlet</display-name>
<servlet-name>FeedServlet</servlet-name>
<servlet-class>FeedServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FeedServlet</servlet-name>
<url-pattern>/FeedServlet</url-pattern>
</servlet-mapping>

Running

Incorporate the above point and deploy with server to view the result as follows: http://localhost:8080/ExampleDataTableJSON/feedSummary.jsp

JQuery DataTable Image

jquery-datatabl

Conclusion

You can download full source code from Github link and most welcome to fork or update the same.

Resources:

 

Do you want to know how to develop your skillset to become a Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you our best selling eBooks for FREE!

1. JPA Mini Book

2. JVM Troubleshooting Guide

3. JUnit Tutorial for Unit Testing

4. Java Annotations Tutorial

5. Java Interview Questions

6. Spring Interview Questions

7. Android UI Design

and many more ....

 

One comment

  1. Hi,
    Thank you for this tutorial, can you please show us how to do it with nested json data, for example if the address is another object.
    thanks

Leave a Reply

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

*


4 + = ten

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>

Do you want to know how to develop your skillset and become a ...

Subscribe to our newsletter to start Rocking right now!

To get you started we give you our best selling eBooks for FREE!
Get ready to Rock!
To download the books, please verify your email address by following the instructions found on the email we just sent you.

THANK YOU!

Close