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 相关文章推荐
JS分页控件 可用于无刷新分页
Jul 23 Javascript
jquery鼠标放上去显示悬浮层即弹出定位的div层
Apr 25 Javascript
Javascript技术难点之apply,call与this之间的衔接
Dec 04 Javascript
jQuery实现点击按钮文字变成input框点击保存变成文字
May 09 Javascript
canvas绘制万花筒效果(代码分享)
Jan 20 Javascript
完美解决spring websocket自动断开连接再创建引发的问题
Mar 02 Javascript
JavaScript面试出现频繁的一些易错点整理
Mar 29 Javascript
AngularJs1.x自定义指令独立作用域的函数传入参数方法
Oct 09 Javascript
如何用RxJS实现Redux Form
Dec 29 Javascript
产制造追溯系统之通过微信小程序实现移动端报表平台
Jun 03 Javascript
浅谈react-router@4.0 使用方法和源码分析
Jun 04 Javascript
Vue.js中的高级面试题及答案
Jan 13 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发电子邮件
2006/10/09 PHP
PHP反向代理类代码
2014/08/15 PHP
PHP实现新型冠状病毒疫情实时图的实例
2020/02/04 PHP
初学prototype,发个JS接受URL参数的代码
2006/09/25 Javascript
JavaScript 申明函数的三种方法 每个函数就是一个对象(一)
2009/12/04 Javascript
基于JQuery的一句话搞定手风琴菜单
2012/09/14 Javascript
jQuery获取和设置表单元素的方法
2014/02/14 Javascript
纯JS实现旋转图片3D展示效果
2015/04/12 Javascript
jquery实现从数组移除指定的值
2015/06/24 Javascript
jQuery toggle 代替方法
2016/03/22 Javascript
基于Jquery插件实现跨域异步上传文件功能
2016/04/26 Javascript
点击按钮出现60秒倒计时的简单js代码(推荐)
2016/06/07 Javascript
jQuery simpleModal插件的使用介绍
2016/08/30 Javascript
详解Javascript中的原型OOP
2016/10/12 Javascript
Bootstrap源码解读导航(6)
2016/12/23 Javascript
vue实现简单实时汇率计算功能
2017/01/15 Javascript
微信小程序之拖拽排序(代码分享)
2017/01/21 Javascript
bootstrap datepicker插件默认英文修改为中文
2017/07/28 Javascript
react 原生实现头像滚动播放的示例
2020/04/21 Javascript
JS实现电脑虚拟键盘的操作
2020/06/24 Javascript
浅谈javascript事件环微任务和宏任务队列原理
2020/09/12 Javascript
Python实现将绝对URL替换成相对URL的方法
2015/06/28 Python
解决Pycharm无法import自己安装的第三方module问题
2018/05/18 Python
Python button选取本地图片并显示的实例
2019/06/13 Python
详解Anconda环境下载python包的教程(图形界面+命令行+pycharm安装)
2019/11/11 Python
如何使用Python进行PDF图片识别OCR
2021/01/22 Python
纯CSS3实现的井字棋游戏
2020/11/25 HTML / CSS
美国婚礼和派对礼品网站:Kate Aspen(新娘送礼会、迎婴派对)
2018/03/28 全球购物
请写出一段Python代码实现删除一个list里面的重复元素
2015/12/29 面试题
护理专业学生的求职信范文
2013/12/11 职场文书
应届生求职自荐信
2014/07/04 职场文书
张家口市高新区党工委群众路线教育实践活动整改方案
2014/10/25 职场文书
2015年幼儿园班务工作总结
2015/05/12 职场文书
集结号观后感
2015/06/08 职场文书
护士旷工检讨书
2015/08/15 职场文书
vue cli4中mockjs在dev环境和build环境的配置详情
2022/04/06 Vue.js