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

网友投稿 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" >

Name

Position

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

@RequestMapping(value="/datatablesTest", method=RequestMethod.GET)

@Responhttp://seBody

public DatatablesViewPage 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 list = new ArrayList();

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 = new DatatablesViewPage();

view.setiTotalDisplayRecords(100);

view.setiTotalRecords(100);

view.setAaData(list);

return view;

}

DatatablesViewPage的声明如下:

public class DatatablesViewPage {

private List 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

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 listMap = new HashMap();

List list = new ArrayList();

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 listMap = new HashMap();

List list = new ArrayList();

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小时内删除侵权内容。

上一篇:java 枚举实现接口(java枚举的使用)
下一篇:Java通过apache poi生成excel实例代码
相关文章

 发表评论

暂时没有评论,来抢沙发吧~