全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

datatables 带查询条件java服务端分页处理实例

使用datatables自带后台查询

前台代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="shortcut icon" type="image/ico"
  href="http://www.datatables.net/favicon.ico" rel="external nofollow" >
<meta name="viewport" content="initial-scale=1.0, maximum-scale=2.0">

<link rel="stylesheet" type="text/css"
  href="../../js/DataTables-1.10.8/media/css/jquery.dataTables.css" rel="external nofollow" >
<script type="text/javascript" language="javascript"
  src="../../js/DataTables-1.10.8/media/js/jquery.js"></script>
<script type="text/javascript" language="javascript"
  src="../../js/DataTables-1.10.8/media/js/jquery.dataTables.js"></script>
<script type="text/javascript" language="javascript" class="init">
  var table;
$(document).ready(function() {
  table = $('#example').DataTable( {
    "pagingType": "simple_numbers",//设置分页控件的模式
     searching: false,//屏蔽datatales的查询框
     aLengthMenu:[10],//设置一页展示10条记录
     "bLengthChange": false,//屏蔽tables的一页展示多少条记录的下拉列表
     "oLanguage": { //对表格国际化
      "sLengthMenu": "每页显示 _MENU_条", 
      "sZeroRecords": "没有找到符合条件的数据", 
    // "sProcessing": "&lt;img src='./loading.gif' /&gt;", 
      "sInfo": "当前第 _START_ - _END_ 条 共计 _TOTAL_ 条", 
      "sInfoEmpty": "木有记录", 
      "sInfoFiltered": "(从 _MAX_ 条记录中过滤)", 
      "sSearch": "搜索:", 
      "oPaginate": { 
      "sFirst": "首页", 
      "sPrevious": "前一页", 
      "sNext": "后一页", 
      "sLast": "尾页" 

      } 
    },
  "processing": true, //打开数据加载时的等待效果
    "serverSide": true,//打开后台分页
    "ajax": {
      "url": "../../alarms/datatablesTest", 
      "dataSrc": "aaData", 
      "data": function ( d ) {
        var level1 = $('#level1').val();
        //添加额外的参数传给服务器
        d.extra_search = level1;
      }
    },
    "columns": [
      { "data": "total" },
      { "data": "level" }
    ]

  } );
} );


function search1()
{
  table.ajax.reload();
}

  </script>
</head>

<body class="dt-example">


  <div>
    <input type="text" id="level1"> 
    <input type="button" onclick="search1()" value="查询">
  </div>

  <table id="example" class="display" cellspacing="0" width="100%">
    <thead>
      <tr>
        <th>Name</th>
        <th>Position</th>
      </tr>
    </thead>
  </table>



</body>
</html>

Java代码如下,使用spring的 @ResponseBody将结果转换成json格式返回给前台

@RequestMapping(value="/datatablesTest", method=RequestMethod.GET)
  @ResponseBody
  public DatatablesViewPage<Alarm> datatablesTest(HttpServletRequest request){
//获取分页控件的信息
    String start = request.getParameter("start");
    System.out.println(start);
        String length = request.getParameter("length");
    System.out.println(length);
//获取前台额外传递过来的查询条件
    String extra_search = request.getParameter("extra_search");
    System.out.println(extra_search);
        //随便组织的查询结果
    List<Alarm> list = new ArrayList<Alarm>();
    Alarm alarm = new Alarm();
    alarm.setLevel(1);
    alarm.setTotal(100L);
    list.add(alarm);
    alarm = new Alarm();
    alarm.setLevel(2);
    alarm.setTotal(100L);
    list.add(alarm);


    DatatablesViewPage<Alarm> view = new DatatablesViewPage<Alarm>();
    view.setiTotalDisplayRecords(100);
    view.setiTotalRecords(100);

    view.setAaData(list);
    return view;
  }

DatatablesViewPage的声明如下:

public class DatatablesViewPage<T> {

  private List<T> aaData; //aaData 与datatales 加载的“dataSrc"对应
  private int iTotalDisplayRecords; 
  private int iTotalRecords;
  public DatatablesViewPage() {

  }
//get set方法 此处省略

}

在后台传输数据也可以用fastjson ;

@ResponseBody
  @RequestMapping("/datatable2")
  public JSON getTable2(String aoData){
    String sEcho = "";// 记录操作的次数 每次加1
    String iDisplayStart = "";// 起始
    String iDisplayLength = "";// size
    String sSearch = "";// 搜索的关键字
    int count = 1 ; //查询出来的数量
    JSONArray alldata = JSON.parseArray(aoData);
    for (int i = 0; i <alldata.size() ; i++) {
      JSONObject obj = (JSONObject) alldata.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();
    }
    DataTableModel u1 = new DataTableModel();
    u1.setFirst_name("Airi");
    u1.setLast_name("Satou");
    u1.setPosition("Accountant");
    u1.setOffice("Tokyo");
    u1.setStart_date("28th Nov 08");
    u1.setSalary("$162,700");

    Map<String,Object> listMap = new HashMap<String, Object>();
    List<DataTableModel> list = new ArrayList<DataTableModel>();
    list.add(u1);
    listMap.put("iTotalRecords",count);
    listMap.put("sEcho",Integer.parseInt(sEcho)+1);
    listMap.put("iTotalDisplayRecords",count);
    listMap.put("aaData",list);
    return (JSON)JSON.toJSON(listMap);
  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# java  # 服务端分页  # datatable  # datatables  # 分页  # Java的MyBatis框架中实现多表连接查询和查询结果分页  # Java操作MongoDB模糊查询和分页查询  # Java分页查询--分页显示(实例讲解)  # 如何用java实现分页查询  # java web实现分页查询实例方法  # JAVA代码实现MongoDB动态条件之分页查询  # 详述 DB2 分页查询及 Java 实现的示例  # 新闻列表的分页查询java代码实现  # Java基础开发之JDBC操作数据库增删改查  # 分页查询实例详解  # Java实现分页查询功能  # 加载  # 可以用  # 每页  # 尾页  # 自带  # 没有找到  # 转换成  # 首页  # 查询结果  # 符合条件  # 大家多多  # sZeroRecords  # sLengthMenu  # function  # sProcessing  # amp  # ready  # tables  # oLanguage 


相关文章: 无锡营销型网站制作公司,无锡网选车牌流程?  如何用搬瓦工VPS快速搭建个人网站?  建站主机是否等同于虚拟主机?  如何高效利用200m空间完成建站?  高端企业智能建站程序:SEO优化与响应式模板定制开发  网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?  学校建站服务器如何选型才能满足性能需求?  如何用y主机助手快速搭建网站?  如何在IIS管理器中快速创建并配置网站?  如何选择服务器才能高效搭建专属网站?  建站之星IIS配置教程:代码生成技巧与站点搭建指南  如何选择高效响应式自助建站源码系统?  c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗  深圳网站制作的公司有哪些,dido官方网站?  如何通过.red域名打造高辨识度品牌网站?  微信小程序 input输入框控件详解及实例(多种示例)  赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?  如何用PHP快速搭建高效网站?分步指南  如何在企业微信快速生成手机电脑官网?  ,柠檬视频怎样兑换vip?  如何在IIS7上新建站点并设置安全权限?  如何选择高效便捷的WAP商城建站系统?  高防服务器租用指南:配置选择与快速部署攻略  c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】  建站之星北京办公室:智能建站系统与小程序生成方案解析  建站之星如何助力网站排名飙升?揭秘高效技巧  广州网站建站公司选择指南:建站流程与SEO优化关键词解析  网站制作需要会哪些技术,建立一个网站要花费多少?  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  孙琪峥织梦建站教程如何优化数据库安全?  如何通过VPS搭建网站快速盈利?  建站主机服务器选购指南:轻量应用与VPS配置解析  头像制作网站在线制作软件,dw网页背景图像怎么设置?  如何获取免费开源的自助建站系统源码?  如何选择高效可靠的多用户建站源码资源?  如何通过远程VPS快速搭建个人网站?  建站主机解析:虚拟主机配置与服务器选择指南  定制建站流程步骤详解:一站式方案设计与开发指南  C#如何使用XPathNavigator高效查询XML  网站设计制作公司地址,网站建设比较好的公司都有哪些?  如何通过建站之星自助学习解决操作问题?  巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成  如何快速搭建个人网站并优化SEO?  制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?  如何在阿里云虚拟主机上快速搭建个人网站?  如何注册花生壳免费域名并搭建个人网站?  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  如何配置FTP站点权限与安全设置?  建站之星×万网:智能建站系统+自助建站平台一键生成  贸易公司网站制作流程,出口贸易网站设计怎么做? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。