服务器之家

服务器之家 > 正文

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

时间:2021-02-05 16:39     来源/作者:JavaScript教程网

1.数据转换类

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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帮助类

?
1
2
3
4
5
6
7
8
public class BaseController {
protected JSONResponse successed(Object obj) {
JSONResponse ret = new JSONResponse();
ret.setSuccessed(true);
ret.setReturnObject(obj);
return ret;
}
}

3.实现类

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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.查询方法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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;
}

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

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部