vue项目接口域名动态的获取方法
325
2023-05-10
datatables 带查询条件java服务端分页处理实例
使用datatables自带后台查询
前台代码:
href="http://datatables.net/favicon.ico" rel="external nofollow" >
href="../../js/DataTables-1.10.8/media/css/jquery.dataTables.css" rel="external nofollow" >
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": "",
"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();
}
Name Position
Java代码如下,使用spring的 @ResponseBody将结果转换成json格式返回给前台
@RequestMapping(value="/datatablesTest", method=RequestMethod.GET)
@Responhttp://seBody
public DatatablesViewPage
//获取分页控件的信息
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 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
view.setiTotalDisplayRecords(100);
view.setiTotalRecords(100);
view.setAaData(list);
return view;
}
DatatablesViewPage的声明如下:
public class DatatablesViewPage
private List
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 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 List list.add(u1); listMap.put("iTotalRecords",count); listMap.put("sEcho",Integer.parseInt(sEcho)+1); listMap.put("iTotalDispUqsbwcaMGUlayRecords",count); listMap.put("aaData",list); return (JSON)JSON.toJSON(listMap); }
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
List
list.add(u1);
listMap.put("iTotalRecords",count);
listMap.put("sEcho",Integer.parseInt(sEcho)+1);
listMap.put("iTotalDispUqsbwcaMGUlayRecords",count);
listMap.put("aaData",list);
return (JSON)JSON.toJSON(listMap);
}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~