jquery datatable后台封装数据示例代码


Posted in Javascript onAugust 07, 2014

1.数据转换类

public class DataTableReturnObject { 
private int iTotalRecords; 
private int iTotalDisplayRecords; 
private String sEcho; 
private String[][] aaData; 

public DataTableReturnObject(int totalRecords, int totalDisplayRecords, String echo, String[][] d) { 
this.setiTotalRecords(totalRecords); 
this.setiTotalDisplayRecords(totalDisplayRecords); 
this.setsEcho(echo); 
this.setAaData(d); 
} 

public void setiTotalRecords(int iTotalRecords) { 
this.iTotalRecords = iTotalRecords; 
} 

public int getiTotalRecords() { 
return iTotalRecords; 
} 

public void setiTotalDisplayRecords(int iTotalDisplayRecords) { 
this.iTotalDisplayRecords = iTotalDisplayRecords; 
} 

public int getiTotalDisplayRecords() { 
return iTotalDisplayRecords; 
} 

public void setsEcho(String sEcho) { 
this.sEcho = sEcho; 
} 

public String getsEcho() { 
return sEcho; 
} 

public void setAaData(String[][] aaData) { 
this.aaData = aaData; 
} 

public String[][] getAaData() { 
return aaData; 
} 
}

2帮助类

public class BaseController { 
protected JSONResponse successed(Object obj) { 
JSONResponse ret = new JSONResponse(); 
ret.setSuccessed(true); 
ret.setReturnObject(obj); 
return ret; 
} 
}

3.实现类

public JSONResponse searchList(HttpServletRequest request , HttpServletResponse response ,String sEcho) throws Exception { 
//convertToMap定义于父类,将参数数组中的所有元素加入一个HashMap 
Map<Object, Object> objQueryMap = new HashMap<Object, Object>(); 
String jsondata = request.getParameter("aoData"); 
JSONArray jsonarray = JSONArray.fromObject(jsondata); 
String strDisplayStart =""; 
String strDisplayLength=""; 
String[] arrayColumen = new String[new JSONUser().toArray().length]; 
int strSortId = 0; 
String strSort = ""; 
for(int i=0;i<jsonarray.size();i++) //从传递参数里面选出待用的参数 
{ 
JSONObject obj=(JSONObject)jsonarray.get(i); 
String strName = (String)obj.get("name"); 
String strValue = obj.get("value").toString(); 
if(strName.equals("sEcho")){ 
sEcho=strValue; 
} 
if(strName.equals("iDisplayStart")) { 
strDisplayStart=strValue; 
} 
if(strName.equals("iDisplayLength")) { 
strDisplayLength=strValue; 
} 
if(strName.equals("sColumns")){ 
arrayColumen = obj.get("value").toString().split(","); 

} 
if(strName.startsWith("iSortCol_")){ 
strSortId = Integer.parseInt(strValue) ;//排序列数 
} 
if(strName.startsWith("sSortDir_")){ 
strSort = strValue;//排序的方向 "desc" 或者 "asc". 
} 

} 

Map<Object, Object> params = new HashMap<Object, Object>() ; 
try { 
params = managerService.getUserList(参数); 
} catch (Exception e) { 
// TODO Auto-generated catch block 
e.printStackTrace(); 
} 
String count = (String)params.get("COUNT");//总数 
String[][] strData = (String[][])params.get("AO_DATA");//当前页显示的集合 
return successed(new DataTableReturnObject(Integer.parseInt(count) , Integer.parseInt(count), sEcho, strData)); 
}

4.查询方法

public Map<Object, Object> getUserList(Map<Object, Object> queryParams) 
throws Exception { 

String iCount = 总记录数; 
// 将查询结果转换为一个二维数组 
String[][] data = {}; 
if (lstUser != null && lstUser.size() > 0) { 
int record = lstUser.size(); 
data = new String[record][]; 
for (int i = 0; i < lstUser.size(); i++) { 
User objUser = (User) lstUser.get(i); 
JSONUser jsonUser = new JSONUser(); 
BeanUtils.copyProperties(jsonUser, objUser); 
data[i] = jsonUser.toArray(); 
} 
} 
queryParams.clear();// 情况map,重新设值使用 
queryParams.put("AO_DATA", data); 
queryParams.put("COUNT", iCount); 
return queryParams; 
}

注意存放的数组对象的属性必须与前端页面显示的列保持一样的个数

Javascript 相关文章推荐
基于jQuery的让非HTML5浏览器支持placeholder属性的代码
May 24 Javascript
js遍历td tr等html元素
Dec 13 Javascript
异步动态加载js与css文件的js代码
Sep 15 Javascript
简单纯js实现点击切换TAB标签实例
Aug 23 Javascript
jquery实现的判断倒计时是否结束代码
Feb 05 Javascript
常用的js方法合集
Mar 10 Javascript
Angularjs 双向绑定时字符串的转换成数字类型的问题
Jun 12 Javascript
原生javascript实现文件异步上传的实例讲解
Oct 26 Javascript
详解JS转换数值函数Number()、parseInt()、parseFloat()
Aug 24 Javascript
d3.js 地铁轨道交通项目实战
Nov 27 Javascript
ES6使用 Array.includes 处理多重条件用法实例分析
Mar 02 Javascript
微信小程序实现canvas分享朋友圈海报
Jun 21 Javascript
jquery对象和javascript对象即DOM对象相互转换
Aug 07 #Javascript
js判断当页面无法回退时关闭网页否则就history.go(-1)
Aug 07 #Javascript
js和jquery设置disabled属性为true使按钮失效
Aug 07 #Javascript
javascript中为某个元素指定事件的三种方式
Aug 07 #Javascript
谷歌地图打不开的解决办法
Aug 07 #Javascript
JavaScript验证18位身份证号码最后一位正确性的实现代码
Aug 07 #Javascript
jquery bind(click)传参让列表中每行绑定一个事件
Aug 06 #Javascript
You might like
PHP中IP地址与整型数字互相转换详解
2014/08/20 PHP
document.designMode的功能与使用方法介绍
2007/11/22 Javascript
js 操作css实现代码
2009/06/11 Javascript
javascript 写类方式之二
2009/07/05 Javascript
JavaScript使用循环和分割来替换和删除元素实例
2014/10/13 Javascript
node.js中的fs.open方法使用说明
2014/12/17 Javascript
JS时间特效最常用的三款
2015/08/19 Javascript
Angularjs过滤器使用详解
2016/05/25 Javascript
JavaScript中匿名函数的用法及优缺点详解
2016/06/01 Javascript
Javascript删除指定元素节点的方法
2016/06/21 Javascript
JS选取DOM元素的简单方法
2016/07/08 Javascript
Bootstrap在线电子商务网站实战项目5
2016/10/14 Javascript
jQuery动态增减行的实例代码解析(推荐)
2016/12/05 Javascript
JS实现css hover操作的方法示例
2017/04/07 Javascript
vue组件发布到npm简单步骤
2017/11/30 Javascript
JavaScript反射与依赖注入实例详解
2018/05/29 Javascript
web页面和微信小程序页面实现瀑布流效果
2018/09/26 Javascript
详解如何使用koa实现socket.io官网的例子
2018/11/04 Javascript
扫微信小程序码实现网站登陆实现解析
2019/08/20 Javascript
在vscode 中设置 vue模板内容的方法
2020/09/02 Javascript
[48:53]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第一场
2014/05/26 DOTA
[04:03]DOTA2英雄梦之声_第02期_风暴之灵
2014/06/30 DOTA
matplotlib绘制符合论文要求的图片实例(必看篇)
2017/06/02 Python
TensorFlow在MAC环境下的安装及环境搭建
2017/11/14 Python
Python基于列表模拟堆栈和队列功能示例
2018/01/05 Python
python编程培训 python培训靠谱吗
2018/01/17 Python
浅析python中numpy包中的argsort函数的使用
2018/08/30 Python
Python基础之循环语句用法示例【for、while循环】
2019/03/23 Python
Python中生成一个指定长度的随机字符串实现示例
2019/11/06 Python
手把手教你如何用Pycharm2020.1.1配置远程连接的详细步骤
2020/08/07 Python
利用纯html5绘制出来的一款非常漂亮的时钟
2015/01/04 HTML / CSS
美国Jeep配件购物网站:Morris 4×4 Center
2019/05/01 全球购物
理想点亮人生演讲稿
2014/05/21 职场文书
中职生自荐信范文
2014/06/15 职场文书
2014预备党员批评与自我批评思想汇报
2014/09/20 职场文书
2015年全民国防教育日活动总结
2015/03/23 职场文书