Jquery的DataTable插件 AJAX 服务器分页的的学习心得(java版)

首先得先引入对应的js

1、jquery.min.js  首先导入

2、 File:        jquery.dataTables.min.js

Version:     1.9.4     这是我使用的版本

这是  jsp 页面

关键的table  代码

<table id="fuck" class="table table-bordered data-table">
									<thead>
									<tr>

            						<span style="white-space:pre">		</span>  <th>姓名</th>
         						  <span style="white-space:pre">		</span>  <th>账号</th>
              						 <span style="white-space:pre">		</span>  <th>登录时间</th>
            						<span style="white-space:pre">		</span></tr>
									</thead>
									<tbody>

									</tbody>
									</table> 

必须保证  thead    tbody 存在

接着是  对 这个table  自己写的 js 文件

这里我贴出关键代码

$("#fuck").dataTable({
			"oLanguage" : { // 汉化
				"sProcessing" : "正在加载数据...",
				"sLengthMenu" : "显示_MENU_条 ",
				"sZeroRecords" : "没有您要搜索的内容",
				"sInfo" : "从_START_ 到 _END_ 条记录——总记录数为 _TOTAL_ 条",
				"sInfoEmpty" : "记录数为0",
				"sInfoFiltered" : "(全部记录数 _MAX_  条)",
				"sInfoPostFix" : "",
				"sSearch" : "搜索",
				"sUrl" : "",
				"oPaginate" : {
					"sFirst" : "第一页",
					"sPrevious" : " 上一页 ",
					"sNext" : " 下一页 ",
					"sLast" : " 最后一页 "
				}
			},
			"bJQueryUI": true,
			"bPaginate" : true,// 分页按钮
			"bFilter" : true,// 搜索栏
			"bLengthChange" : true,// 每行显示记录数
			"iDisplayLength" : 10,// 每页显示行数
			"bSort" : false,// 排序
			//"aLengthMenu": [[50,100,500,1000,10000], [50,100,500,1000,10000]],//定义每页显示数据数量
			//"iScrollLoadGap":400,//用于指定当DataTable设置为滚动时,最多可以一屏显示多少条数据
			//"aaSorting": [[4, "desc"]],
			"bInfo" : true,// Showing 1 to 10 of 23 entries 总记录数没也显示多少等信息
			"bWidth":true,
			//"sScrollY": "62%",
            //"sScrollX": "210%",
            "bScrollCollapse": true,
			"sPaginationType" : "full_numbers", // 分页,一共两种样式 另一种为two_button // 是datatables默认
			"bProcessing" : true,
			"bServerSide" : true,
			"bDestroy": true,
			"bSortCellsTop": true,
	        "sAjaxSource": '/getInfo.action',
	        "aoColumns":
	           [
			{ "mData": "id", 'sClass':'left'},
	        	{ "mData": "name", 'sClass':'center'},
	        	{ "mData": "account",'sClass':'left'},
	        	{ "mData": "logintime", 'sClass':'left'}
	            	/*
	            	{ "mData": "password",'sClass':'left',"mRender":function(data,type,full){
	            		return "<button type='button' onclick=fuck11("+data+")>"+data+"</button>"
	            		}
	            	}
	            	*/
	            ],
	        "fnServerData" : function(sSource, aoData, fnCallback) {
				$.ajax({
					"type" : 'post',
					"url" : sSource,
					"dataType" : "json",
					"data" : {
						aoData : JSON.stringify(aoData)
					},
					"success" : function(resp) {
						fnCallback(resp);
					}
				});

			}

		});

经过以上配置以后   服务器端接收的到的字符串可以转换成JSONArray      然后在服务器端获取关键的参数来分页

这是struts2的关键代码

public String list() {
		String sEcho = "";// 记录操作的次数  每次加1
		String iDisplayStart = "";// 起始
		String iDisplayLength = "";// size
		String sSearch = "";// 搜索的关键字
		int count = 0 ;  //查询出来的数量
		JSONArray ja = (JSONArray) JSONArray.parse(aoData);
		//分别为关键的参数赋值
		for (int i = 0; i < ja.size(); i++) {
			JSONObject obj = (JSONObject) ja.get(i);
			if (obj.get("name").equals("sEcho"))
				sEcho = obj.get("value").toString();
			if (obj.get("name").equals("iDisplayStart"))
				iDisplayStart = obj.get("value").toString();
			if (obj.get("name").equals("iDisplayLength"))
				iDisplayLength = obj.get("value").toString();
			if (obj.get("name").equals("sSearch"))
				sSearch = obj.get("value").toString();
		}

		//为操作次数加1
		int  initEcho = Integer.parseInt(sEcho)+1;
		count = managerService.findManagerToPageCount(Integer
				.parseInt(iDisplayStart), Integer.parseInt(iDisplayLength),sSearch);
		List<Manager> managers = managerService.findManagerToPage(Integer
				.parseInt(iDisplayStart), Integer.parseInt(iDisplayLength),sSearch);
		dataMap.put("iTotalRecords", count);
		dataMap.put("sEcho",initEcho);
		dataMap.put("iTotalDisplayRecords", count);
		dataMap.put("aaData", managers);
		return SUCCESS;
	}

然后记得  返回的 json船一定要符合格式  不然table是无法显示的

Jquery的DataTable插件 AJAX 服务器分页的的学习心得(java版)

时间: 2024-08-04 10:10:55

Jquery的DataTable插件 AJAX 服务器分页的的学习心得(java版)的相关文章

jquery使用uploadify插件实现多文件的上传(java版)

源码地址:https://git.oschina.net/zhengweishan/UploadDemo_Java 1.jquery uploadify 下载:http://www.uploadify.com/ 2.安装,由于下载下来的例子是php版本的,所以我只留下了主要的几个文件.如图: 3.配置项说明,请自行看文档.文档地址:http://www.uploadify.com/documentation/ 4.使用 前台页面: <%@ page language="java"

jQuery 分页插件(jQuery.pagination.js)ajax 实现分页

首先需要引入jQuery 再次需要引入 <script src="jquery/jquery.pagination.js"></script> 同时也要引入 <link rel="stylesheet" href="css/pagination.css"> 引入之后,分页基本样子 下面看分页配置参数 var defaults = { totalData: 0, //数据总条数 showData: 0, //每页

MVC中用Jquery、JS和Ajax 实现分页 存储过程是用mysql写的。

首先创建控制器,添加两个试图,一个Index  一个List  这里我用的是mysql Index.cshtml 代码 : @{ Layout = null;} <!DOCTYPE html> <html><head> <meta name="viewport" content="width=device-width" /> <title>Index</title> @Styles.Render

jquery的uploadify插件实现的批量上传V3.2.1版

你需要如下配置(包括引入文件)HTML: <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <script s

datatable by Ajax 前端参数详解

Datatable  实现ajax动态分页.设计各列单元格dom格式. id:表格id ordering:是否可以排序 paging:在所有表数据已加载完毕后,是否分页显示 Processing:是否异步载入未显示表格数据 aoColumnDefs:列控制,aTargets表示所选控制的列,mRender表示对所选列的操作. bProcessing:加载数据时候是否显示进度条 serverSide:是否从服务器加载数据 tableTools:datatable 扩展工具库,本函数使用到excel

分享在MVC3.0中使用jQuery DataTable 插件

前不久在网络上看见一个很不错的jQuery的DataTable表格插件.后来发现在MVC中使用该插件的文章并不多.本文将介绍在MVC3.0如何使用该插件.在介绍该插件之前先简单介绍一下,推荐该插件的原因.在项目中我使用jqgrid比较多.但是发现当进行样式调整时jqgrid的样式常常会让美工头疼.而datatable插件却是一个轻量级的jQuery插件.当我通过浏览器查看该js插件rander后的源码.发现只是一个简单的html table,非常简洁.那么在没有特殊要求的情况下使用这个插件,开发

jquery.datatable插件从数据库读取数据

一.分页 分页的基本思想是根据datatable的页码及每页显示的行数,将数据从数据库分段提出,然后再填充到表格中,以达到分页的效果. 这里需要用到datatable插件的几个属性: "sEcho":这个属性需要原封不动地传回给datatable,具体的作用我也不清楚,但是根据它值的变化情况来看,好像是一个操作次数的计数(之前我一直把它当做是pageindex来用,结果发现,不论我在datatable中是翻下一页还是翻上一页,它一直在增加.) "iDisplayStart&q

PHP中使用jQuery+Ajax实现分页查询多功能操作

1.首先做主页面Ajax_pag.php 代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Ajax做分页</title> <script src="bootstrap/js/jquery-1.11.2.min.js"></script> <script src="Ajax_

spring下DataTable服务器分页

JSP中body内容: <table class="table table-border table-bordered table-bg table-hover table-sort"> <thead> <tr class="text-c"> <th width="80">ID</th> <th width="100">类型</th> <