Jquery Datatable的使用样例(ssm+bootstrsp框架下)服务器端分页

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

效果:

我这个表格数据 比较少没有第2页

有多例多页的效果(带滚动条和翻页):

 

 

1.  jsp页面:

表格声明部分:

 

 <div class="row"><div class="col-md-12 col-sm-12 col-xs-12"><div class="x_panel"><div class="x_title"><h2>权限角色管理 </h2><ul class="nav navbar-right panel_toolbox"><li><a class="collapse-link"><i class="fa fa-chevron-up"></i></a></li><li><a href="javascript:void(0);" id="add"><i class="fa fa-plus"></i></a></li></ul><div class="clearfix"></div></div><div class="x_content"><div class="form-inline"><label>角色名称:<input id="theRoleName" type="text" class="form-control input-sm" placeholder="输入角色名称" style="width: 100px;"></label>   <button class="btn btn-success btn-sm" style="margin-bottom:0;" onclick="javascript: myTable.ajax.url('system/getAuthRoleList').load();"><i class="fa fa-search">查询</i></button><button class="btn btn-info btn-sm" style="margin-bottom:0;" onclick="reset();"><i class="fa fa-undo">重置</i></button></div><table id="datatable" class="table table-striped table-bordered"><thead><tr><th width="120px">序号</th><th width="340px">角色名称</th><th width="440px">角色资源字串</th><th>操作</th></tr></thead></table></div></div></div></div>


表格初始化部分:

 

页面加载的时候 会自动初始化表格,从后端查出数据装入表中。

 

	    <!-- 分页相关JS --><script src="css/vendors/datatables.net/js/jquery.dataTables.min.js"></script><script src="css/vendors/datatables.net-bs/js/dataTables.bootstrap.js"></script><script type="text/javascript">var myTable$(function() {//初始化表格对象myTable =  $('#datatable').DataTable({dom: 'irtlp',searching: false,processing: true,serverSide: true,paging: true,info: true,scrollX: true, //列太多,超过显示长度需要滚动条时使用ajax: {url: "system/getAuthRoleList",// 数据请求地址type: "POST",data: function (params) {//此处为定义查询条件 传给控制器的参数//角色名称params.roleName = $("#theRoleName").val()}},columns: [{ data: "id" },{ data: "roleName" },{ data: "resourcesIds" }],columnDefs: [{targets: 3,// 操作例的位置,从0开始数为第几例,data: "id",width: 140,"render": function(data, type, full){return  "<a id='upd' class='btn btn-info btn-xs'><i class='fa fa-pencil'></i>修改权限</a>"+ "<button class='btn btn-danger btn-xs' onclick='deleteRoleRes("+data+")'><i class='fa fa-remove'></i> 删除</button>"}}],language: {url: "css/vendors/language-zh.json"}});    <!-- 分页相关JS --><script src="css/vendors/datatables.net/js/jquery.dataTables.min.js"></script><script src="css/vendors/datatables.net-bs/js/dataTables.bootstrap.js"></script><script type="text/javascript">var myTable$(function() {//初始化表格对象myTable =  $('#datatable').DataTable({dom: 'irtlp',searching: false,processing: true,serverSide: true,paging: true,info: true,scrollX: true, //列太多,超过显示长度需要滚动条时使用ajax: {url: "system/getAuthRoleList",// 数据请求地址type: "POST",data: function (params) {//此处为定义查询条件 传给控制器的参数//角色名称params.roleName = $("#theRoleName").val()}},columns: [{ data: "id" },{ data: "roleName" },{ data: "resourcesIds" }],columnDefs: [{targets: 3,// 操作例的位置,从0开始数为第几例,data: "id",width: 140,"render": function(data, type, full){return  "<a id='upd' class='btn btn-info btn-xs'><i class='fa fa-pencil'></i>修改权限</a>"+ "<button class='btn btn-danger btn-xs' οnclick='deleteRoleRes("+data+")'><i class='fa fa-remove'></i> 删除</button>"}}],language: {url: "css/vendors/language-zh.json"}});

 

 

 

 

 

2.  通过 数据请求地址 找到对应的控制器方法:

参数:  draw : 不用管 

 start :  从第N条开始

 length :  每页显示N条

 roleName  :查询条件(此处是一个角色表,用于查询角色名为N的结果)

 

返回的参数:recordsTotal、recordsFiltered  都是结果集总记录数。data:结果集。draw:原样返回。

 

 

	/*** 加载权限角色列表* @param draw* @param start* @param length* @param roleName* @return* @throws Exception*/@ResponseBody@RequestMapping("/getAuthRoleList")public Object getAuthRoleList(int draw, int start, int length, String roleName)throws Exception{_logger.info("+++++++++++++++++++++++  展示权限角色列表  +++++++++++++++++++++++ ");PageInfo<AuthRole> pageInfo = _authRoleService.selectAuthRoleByPage((start/length)+1, length, roleName);Map<String, Object> map = new HashMap<String, Object>();List<Object> data = new ArrayList<Object>();for(AuthRole res : pageInfo.getList()){Map<String, Object> obj = new HashMap<String, Object>();obj.put("id", res.getId());obj.put("roleName", res.getRoleName());obj.put("resourcesIds", res.getResourcesIds());data.add(obj);}map.put("draw", draw);map.put("recordsTotal", pageInfo.getTotal());map.put("recordsFiltered", pageInfo.getTotal());map.put("data", data);return map;}

 

 

只要把后端数据查出来,处理为要求的json格式数据返回给datatable就是了。

我的代码分页有用pagehelper分页插件。可以不用插件自己写分页sql一样的。只要返回的数据格式对了,datatable就能解析。

 

3.pageHelper的用法 :http://blog.csdn.net/jiangyu1013/article/details/56287388点击打开链接

 

 


 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/451871.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学成在线--24.课程图片管理(保存课程图片)

文章目录一. 需求分析二. 服务端开发1. 模型类2. API3. Dao4. Service5. Controller三. 前端开发1. API2. 页面1). 添加上传成功的钩子 :on-success"handleSuccess"2). 在钩子方法 中保存课程图片信息一. 需求分析 图片上传到文件系统后&#xff0c;其它子系统如果想…

从任意网页上摘取酷炫Jquery效果为自己使用的方法

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 用的chrome 浏览器 2. 随意百度一个漂亮的jquery效果 比如我找到一个可以旋转的多面体效果 3. 再F12选 Resources到如下界面&…

shell基础05 处理用户输入

1. 命令行参数------类似javac 参数1 参数2 类似Java中编译的javac parm1....。在shell中&#xff0c;参数与参数之间用空格隔开。采用位置参数来识别对应的参数值&#xff1a;$0是程序名&#xff0c;$1是第一个参数&#xff0c;以此类推&#xff0c;知道第9个参数$9。对于大…

OpenCV 2.4.0 正式版发布,开源计算机视觉库

OpenCV 于近日发布了 2.4.0 正式版。 OpenCV是一个基于BSD许可证授权发行的跨平台开源计算机视觉库&#xff0c;可以运行在Linux、Windows和Mac OS操作系统上。作为一款简洁而且高效的视觉库&#xff0c;OpenCV由一系列 C 函数和少量 C 类构成&#xff0c;同时提供了Python、Ru…

最小编辑代价-golang

题目&#xff1a; 给定两个字符串str1和str2&#xff0c;在给定三个整数ic,dc和rc,分别代表插入、删除和替换一个 字符&#xff0c;返回将str1编辑成str2的最小代价。 解题方法&#xff1a; 动态规划。首先生成大小为(M1)X(N1)的矩阵dp。 假设str1"avb12cd3", str2&q…

You can't specify target table 'TS_AUTH_ADMIN' for update in FROM clause记录

&#xff11;. 报错&#xff1a;You cant specify target table TS_AUTH_ADMIN for update in FROM clause&#xff0c; 百度查到说是&#xff0c;不能在同一语句中先select出同一表中的某些值,再update这个表 。 我原本的sql是&#xff1a;&#xff08;删除角色的时候&#…

study of javaserver faces lifecycle

JavaServer Faces应用程序的生命周期在客户端为页面发出HTTP请求时开始&#xff0c;并在服务器响应该页面并转换为HTML时结束。 通常将JSF的生命周期分为两个阶段&#xff1a; #执行阶段 #渲染阶段 1.执行阶段 JavaServer Faces应用程序生命周期执行阶段包含以下子阶段&#xf…

sql语句update中多个case/when的写法

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 又如&#xff1a; update xxxx_xxxx set xxx_typeCASE WHEN xxx_type 0 THENYXLX-0WHEN xxx_type 1 THENYXLX-1WHEN xxx_type 2 THE…

警惕开源代码库中的安全隐患

最近的一项研究发现&#xff0c; 在调查的31个流行库&#xff08;框架&#xff09;的1261个版本中&#xff0c;超过三分之一存在已知的安全漏洞&#xff0c;大约四分之一的下载文件已经被污染。 该项研究由Aspect Security和Sonatype发起。Aspect Security是一家评估软件安全漏…

线程间的协作(3)——管道输入/输出流

2019独角兽企业重金招聘Python工程师标准>>> 1.管道输入/输出流类 分为两类&#xff0c;字节流管道类&#xff08;PipedInputStream/PipedOutputStream&#xff09;和字符流管道类&#xff08;PipedReader/ PipedWriter&#xff09;。这两个IO流实现了可以在不同的任…

windows简易版本 Redis 使用 demo样例(ssm框架下)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 在网上下载 windows 版本 的Redis 。下载了直接解压出来 &#xff1a; 2. 双击 redis-server.exe 启动服务&#xff08;如下图&#…

程序员的半衰期只有15年?

曾在Google工作负责过技术工作的科技编辑 Matt Heusser总结了他在Google的生活经历&#xff0c;得出结论&#xff1a; 作为程序员&#xff0c;你只有15年时间。Matt 写道当我在Google工作时&#xff0c;发现Google大部分人都是20出头的年轻人&#xff0c;他们经历的很多事情都是…

EasyNVR、EasyDSS二次开发之:RTMP、HLS流在web页面进行无插件播放示例Demo代码

不管是基于EasyNVR还是EasyDSS&#xff0c;都是支持无插件直播&#xff0c;这也是未来视频直播的一个趋势。对于传统的浏览器插件播放谁用谁知道&#xff1b; 以上是软件自带播放展示 背景需求 对于EasyNVR和EasyDSS的使用方式大概分为两大类&#xff0c;一类是直接将软件作为视…

11--移除重复节点

编写代码&#xff0c;移除未排序链表中的重复节点。保留最开始出现的节点。 示例1: 输入&#xff1a;[1, 2, 3, 3, 2, 1] 输出&#xff1a;[1, 2, 3] 示例2: 输入&#xff1a;[1, 1, 1, 1, 2] 输出&#xff1a;[1, 2]

信息图:程序员/开发人员实际在用哪些工具

BestVendor.com的工作人员在全球范围内采访了500名重要开发人员&#xff0c;在调查询问他们实际使用的工具后&#xff0c;制作了一张信息图&#xff0c;如下。 这张信息图覆盖10个方面的工具&#xff1a;Bug 追踪、数据库、开发框架、集成开发环境&#xff08;IDE&#xff09;、…

12-- 缺失的第一个正数

文章目录1.问题描述2.解题代码1.问题描述 给你一个未排序的整数数组&#xff0c;请你找出其中没有出现的最小的正整数。 示例 1: 输入: [1,2,0] 输出: 3 示例 2: 输入: [3,4,-1,1] 输出: 2 示例 3: 输入: [7,8,9,11,12] 输出: 1 提示&#xff1a; 你的算法的时间复杂度应…

java中的private public protected

1、public&#xff1a;public表明该数据成员、成员函数是对所有用户开放的&#xff0c;所有用户都可以直接进行调用 2、private&#xff1a;private表示私有&#xff0c;私有的意思就是除了class自己之外&#xff0c;任何人都不可以直接使用&#xff0c;私有财产神圣不可侵…

7款最流行的在线项目管理工具推荐

本文介绍一些非常流行的在线项目管理工具&#xff0c;希望你喜欢。 1. Apptivo 如果你是一个创业的或自由开发人员&#xff0c;或者属于一个小型专业团队&#xff0c;Apptivo这个项目管理软件很值得你你研究。实质上&#xff0c;它是一个基于Web的项目管理应用&#xff0c;让你…