- Jquery DataTables — это плагин с открытым исходным кодом для создания таблиц в браузере.
- Он имеет много функций, таких как сортировка, обработка на стороне сервера, прокрутка тем интерфейса JQUERY.
- Ссылка для скачивания этого плагина:
- В этой демонстрации мы показали интеграцию таблицы данных с java. Таблица данных загрузит данные, выполнив вызов Ajax для загрузки всех данных.
- Данные ответа должны содержать свойства «aaData» .
- Основными компонентами в этой демонстрации являются:
- Статические данные StudentDataService.java,
- Объект таблицы данных, который будет отправлен в качестве ответа в Servlet DataTableObject.java,
- Сервлет, который возвращает JSON как String StudentDataServlet.java,
- HTML-файл с файлом элемента таблицы ajaxDataTable.jsp,
- Код Java Script для инициализации таблицы данных my-demo-table-script.js,
http://www.datatables.net/download/
Структура проекта:
Интеграция с Java:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
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; } } |
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
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; } } |
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
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); } } |
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
<%@ 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= './resource/js/my-demo-table-script.js' ></script> </body> </html> |
01
02
03
04
05
06
07
08
09
10
11
12
13
14
|
$(document).ready(function() { $( '.jqueryDataTable' ).dataTable( { 'bProcessing' : false , 'bServerSide' : false , 'sAjaxSource' : './StudentDataServlet' , 'bJQueryUI' : true , 'aoColumns' : [ { 'mData' : 'name' }, { 'mData' : 'mark' } ] } ); } ); |
Выход:
Вывод интегрированной таблицы будет:
Видео:
Скачать демо-код:
демо-код ссылка для скачивания
Ссылка: JQuery DataTables и интеграция с Java от нашего партнера JCG Сандипа Кумара Пателя в блоге My Small Tutorials .