组合查询的字段:昵称,性别,年龄,和类型。dataTable列显示字段:编号,名称,性别,年龄,类型。  
 1 <body>
 2     <form>
 3         <span>昵称:</span> <input type="text" placeholder="名称" id="name-search">
 4          <span>性别:</span> <select id="sex-search">
 5             <option value="">全部</option>
 6             <option value="男">男</option>
 7             <option value="女">女</option>
 8         </select>
 9         <span>年龄:</span> <input type="text" placeholder="年龄" id="age-search">
10         <span>类型:</span> <select id="type-search">
11             <option value="">全部</option>
12             <option value="1">管理员</option>
13             <option value="2">用户</option>
14         </select>
15         <button type="button" id="btn_search">查询</button>
16     </form>
17     <table id="table" class="display">
18         <thead>
19             <tr>
20                 <th>编号</th>
21                 <th>名称</th>
22                 <th>性别</th>
23                 <th>年龄</th>
24                 <th>类型</th>
25             </tr>
26         </thead>
27         <tbody></tbody>
28     </table>
29
30 </body>  

js代码:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<%String server_path = request.getContextPath();
%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" type="text/css" href="../dataTables-1.10.15/media/css/jquery.dataTables.css">
<script type="text/javascript" src="../dataTables-1.10.15/media/js/jquery.js"></script>
<script type="text/javascript" src="../dataTables-1.10.15/media/js/jquery.dataTables.js"></script>
<script type="text/javascript" src="../js/content.js"></script>
<script type="text/javascript">
var userManage = {  getQueryCondition : function(data) {var param = {};  //组装排序参数  if (data.order && data.order.length && data.order[0]) {  switch (data.order[0].column) {  case 0:  param.orderColumn = "id";  break;  case 1:  param.orderColumn = "name";  break;  case 2:  param.orderColumn = "age";//数据库列名称  break;  default:  param.orderColumn = "id";  break;  }  //排序方式asc或者desc  param.orderDir = data.order[0].dir;  }  param.name = $("#name-search").val();//查询条件  param.sex = $("#sex-search").val();//查询条件param.age = $("#age-search").val();//查询条件param.type = $("#type-search").val();//查询条件  //组装分页参数  param.start = data.start;  param.pageSize = data.length;  param.draw = data.draw;  return param;  },  editItemInit : function(item) {  alert("编辑"+item.id+"  "+item.name);  },  deleteItem : function(item) {  alert("删除"+item.id+"  "+item.name);     }
}; $(document).ready( function () {var table = $("#table").dataTable($.extend(true,{},CONSTANT.DATA_TABLES.DEFAULT_OPTION, {ajax : function(data, callback, settings) {  var param = userManage.getQueryCondition(data);  $.ajax({  type: "POST",  url: '<%= server_path%>/user/userlist',  data: param,    //传入已封装的参数  dataType: "json",  success: function(result) {  if (result.errorCode) {  alert("查询失败");  return;  }  callback(result);  },  error: function(XMLHttpRequest, textStatus, errorThrown) {  alert("查询失败");  }  });  },  //绑定数据
         columns: [  {  data: "id",//字段名
             },  {  data: "name",
             },  {  data : "sex",
             },  {  data : "age",
             },  {  data : "type",
             },  {  data: null,//字段名  defaultContent:"",//无默认值
             }  ],  //bSort: false, //是否启动各个字段的排序功能aaSorting: [[1, 'desc']],//默认排序列"createdRow": function ( row, data, index ) {  //不使用render,改用jquery文档操作呈现单元格  var $btnEdit = $('<button type="button" class="btn-edit">修改</button>');  var $btnDel = $('<button type="button" class="btn-del">删除</button>');  $('td', row).eq(5).append($btnEdit).append($btnDel);  },  })).api();  //组合查询  $("#btn_search").click(function(){  table.draw(); });  //按钮点击事件  table.on("click",".btn-edit",function() {  //点击编辑按钮  var item = table.row($(this).closest('tr')).data();  userManage.editItemInit(item);  });table.on("click",".btn-del",function() {  //点击删除按钮  var item = table.row($(this).closest('tr')).data();  userManage.deleteItem(item);  });
});</script>
</head>

<script type="text/javascript" src="../js/content.js"></script>的内容:
var CONSTANT = {  DATA_TABLES : {  DEFAULT_OPTION : { //DataTables初始化选项
            language: {  "sProcessing":   "处理中...",  "sLengthMenu":   "每页 _MENU_ 项",  "sZeroRecords":  "没有匹配结果",  "sInfo":         "当前显示第 _START_ 至 _END_ 项,共 _TOTAL_ 项。",  "sInfoEmpty":    "当前显示第 0 至 0 项,共 0 项",  "sInfoFiltered": "(由 _MAX_ 项结果过滤)",  "sInfoPostFix":  "",  "sSearch":       "搜索:",  "sUrl":          "",  "sEmptyTable":     "表中数据为空",  "sLoadingRecords": "载入中...",  "sInfoThousands":  ",",  "oPaginate": {  "sFirst":    "首页",  "sPrevious": "上页",  "sNext":     "下页",  "sLast":     "末页",  "sJump":     "跳转"  },  "oAria": {  "sSortAscending":  ": 以升序排列此列",  "sSortDescending": ": 以降序排列此列"  }  },  autoWidth: false,   //禁用自动调整列宽  stripeClasses: ["odd", "even"],//为奇偶行加上样式,兼容不支持CSS伪类的场合  order: [],          //取消默认排序查询,否则复选框一列会出现小箭头  processing: false,  //隐藏加载提示,自行处理  serverSide: true,   //启用服务器端分页  searching: false    //禁用原生搜索
        },  COLUMN: {  CHECKBOX: { //复选框单元格  className: "td-checkbox",  orderable: false,  width: "30px",  data: null,  render: function (data, type, row, meta) {  return '<input type="checkbox" class="iCheck">';  }  }  },  RENDER: {   //常用render可以抽取出来,如日期时间、头像等  ELLIPSIS: function (data, type, row, meta) {  data = data||"";  return '<span title="' + data + '">' + data + '</span>';  }  }  }
};  

  后台代码:

@Controller
@RequestMapping("/user")
public class UserController extends BaseController{@RequestMapping("userlist")public void getUserList(@RequestParam(value="start")Integer start,@RequestParam(value="pageSize")Integer pageSize,HttpServletResponse response) throws Exception{Page<User> page = new Page<User>();Integer total = userService.findCount(User.class);//查得总记录数List<User> users = userService.getUserlist(start, pageSize, null,null, null, null);//分页page.setRecordsTotal(total);page.setRecordsFiltered(total);page.setData(users);logger.info("获取用户列表userLists:" + users.size());response.getWriter().println(mapper.writeValueAsString(page));}

Page类:
public class Page<T> {Integer draw;//刷新次数Integer recordsTotal;//总记录数Integer recordsFiltered;//过滤List<T> data;//前台要显示的所有数据public Integer getDraw() {return draw;}public void setDraw(Integer draw) {this.draw = draw;}public Integer getRecordsTotal() {return recordsTotal;}public void setRecordsTotal(Integer recordsTotal) {this.recordsTotal = recordsTotal;}public List<T> getData() {return data;}public void setData(List<T> data) {this.data = data;}public Integer getRecordsFiltered() {return recordsFiltered;}public void setRecordsFiltered(Integer recordsFiltered) {this.recordsFiltered = recordsFiltered;}}

第二页:

转载于:https://www.cnblogs.com/chenhtblog/p/7896899.html

dataTables分页组合查询 springMVC Hibernate相关推荐

  1. 多条件组合查询+分页

    比较麻烦,把他记录下来. 前台UI: 实现的类代码: 程序代码 /// <summary>         /// 多条件组合查询         /// </summary> ...

  2. hibernate -- 分页模糊查询中setParameter 和setParameterList

    在分页模糊查询中碰到setParameter 和setParameterList这两个方法 setParameter 以前就只会用setParameter(int arg,String str),我用 ...

  3. webform 分页、组合查询综合使用

    界面: 1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.as ...

  4. Webform(Linq高级查、分页、组合查询)

    一.linq高级查 1.模糊查(包含) 1 public List<User> Select(string name) 2 { 3 return con.User.Where(r => ...

  5. WebForm 分页与组合查询

    1.封装实体类 2.写查询方法 //SubjectData类 public List<Subject> Select(string name){List<Subject> li ...

  6. hibernate 多条件组合查询之sql拼接

    hibernate 多条件组合查询之sql拼接 [java] view plaincopyprint? public static void main(String[] args) { Session ...

  7. java easyui条件组合查询_EasyUi+Spring Data 实现按条件分页查询

    Spring data 介绍 Spring data 出现目的 为了简化.统一 持久层 各种实现技术 API ,所以 spring data 提供一套标准 API 和 不同持久层整合技术实现 . 自己 ...

  8. java mvc 分页查询条件_java分页条件查询-GridManager.js表格插件+Pageable分页对象+mybatis pagehelper分页插件...

    总览: 一. GridManager.js表格插件 直接上插件API:链接地址 感觉该插件简单好用,插件作者也是有问必答,nice 二. 添加依赖 后端: pom文件添加: 1.7.0.RELEASE ...

  9. Spring+SpringMVC+Hibernate整合(封装CRUD操作)

    前言:当前Web项目开发的框架主流应该非Spring+SpringMVC+Hibernate莫属,不管是工作还是学习中涉及框架技术,首先是要搭建一套运行环境,虽然网上框架整合的教程很多,但我还是输出此 ...

最新文章

  1. Android CoordinatorLayout使用
  2. Openstack组建部署 — Glance Install
  3. 用计算机做科学实验评课,科学小实验课程听课心得
  4. 阶段-关口系统--范围界定阶段---学习记录
  5. 详细讲解Python _init_()方法;为什么需要 innit方法?__init__传参
  6. matlab宏参赛,MATLAB杯无人机大赛 | 决赛通知!
  7. Apollo进阶课程⑳丨Apollo感知之旅——机器学习与感知的未来
  8. animition动画的加入
  9. 使用Red Hat OS为Amazon EC2实例安装SQL Server Linux
  10. python调用dos命令_基于Python执行dos命令并获取输出的结果
  11. Vmware 安装 ghost 版 win 7
  12. 4.2 各种各样的卷积层
  13. 数据库性能指标 2005-04-06 19:36:14(转载)
  14. 酒店消防安全知识培训PPT模板
  15. 用Linux给手机刷rec,【小白福利】手机端刷入第三方Rec,手把手教会你
  16. 规范JavaScript注释
  17. 2020年ROS机器人操作系统用户官方调查
  18. 微信小程序上传视频功能的简单实现
  19. HDU 613 Kolakoski
  20. 开发者在掘金路上的选择

热门文章

  1. iOS8+ UITableView自动计算cell高度并缓存
  2. 如何使用一台PC搭建可以在线迁移的KVM学习环境
  3. 字符串匹配算法KMP算法
  4. codeforce 1070 H
  5. jupyter安装出现问题:安装后无法打开
  6. NOIP模拟——change
  7. MA5680T OLT管理软件,全智能判断板卡,无人值守策略,根据光猫类型自动扫描添加光猫...
  8. django+celery+rabitmq
  9. hdu 3819动态规划
  10. 深入浅出学习Hibernate框架(一):从实例入手初识Hibernate框架