jquery datatable真实示例
阅读原文时间:2023年07月11日阅读:2

1 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
2
3 4 5 6 datatable服务端示例页面 7 8 <%@ include file="common/commonHeader.jsp"%> 9 10 11 22 143 144 145 147
148
149 150 151

152 153 154 155 156 157 158 159 160
姓名性别操作
161 162 163

@RequestMapping("getTableData")
public ModelAndView getTableData(HttpServletRequest request, HttpServletResponse response) throws Exception {
//1.分页参数
int pageSize = 10;//页面显示数量
int startRecord = 0;//开始记录位置
String size = request.getParameter("length");
if (!"".equals(size) && size != null) {
pageSize = Integer.parseInt(size);
}
String currentRecord = request.getParameter("start");
if (!"".equals(currentRecord) && currentRecord != null) {
startRecord = Integer.parseInt(currentRecord);
}

    //2.排序参数  
    String sortColumn = request.getParameter("order\[0\]\[column\]");//因为是二维的表格,因此只有一维需要排序,所以 order 的下标未 0. 该属性表示第几列需要排序。  
    String sortDir = request.getParameter("order\[0\]\[dir\]");//排序方式 ASC | DESC 

    //3.搜索参数  
    String searchValue = request.getParameter("search\[value\]");//search 输入框中的值

    System.out.println("----->sortColumn:" + sortColumn + "------>sortDir:" + sortDir + "---->searchValue:" + searchValue);

    //所有参数  

// Enumeration paraNames = request.getParameterNames();
// for(Enumeration e=paraNames;e.hasMoreElements();){
// String thisName=e.nextElement().toString();
// String thisValue=request.getParameter(thisName);
// System.out.println(thisName + "--------------> " + thisValue);
// }

    //JSONArray userData = userService.pageGetUserData(startRecord,pageSize,columnsName\[Integer.parseInt(sortColumn)\], sortDir, searchValue);

    //4.获取后台数据  
    JSONArray arr = new JSONArray();  
    int count = 15;  
    //假分页数据  
    for (int i = 0; i < 15; i++) {  
        if (startRecord < 10 && i < 10){//第一页  
            JSONObject obj = new JSONObject();  
            obj.put("id", i);  
            obj.put("name", "张三" + i);  
            obj.put("gender", "男");  
            arr.add(obj);  
        }  
        if(startRecord >= 10 && i >= 10){//第二页  
            JSONObject obj = new JSONObject();  
            obj.put("id", i);  
            obj.put("name", "张三" + i);  
            obj.put("gender", "男");  
            arr.add(obj);  
        }  
    }

    //5.封装要返回的数据  
    DataVO<Object> result = new DataVO<Object>();  
    result.setDraw(Integer.parseInt(request.getParameter("draw") == null ? "0" : request.getParameter("draw")) + 1);//表示请求次数  
    result.setData(arr);//具体的数据对象数组  
    result.setRecordsTotal(count);//总记录数  
    result.setRecordsFiltered(count);//过滤后的总记录数

    PrintWriter out = response.getWriter();  
    out.print(JSON.toJSONString(result));  
    return null;  
}

i18n.txt

{
"search": "搜索:",
"processing": "正在加载数据…",
"lengthMenu": "每页显示 _MENU_ 条记录",
"zeroRecords": "对不起,查询不到相关数据!",
"info": "当前显示 _START_ 到 _END_ 条,共 _TOTAL_ 条记录",
"infoEmpty": "表中无数据存在!",
"infoFiltered": "数据表中共为 _MAX_ 条记录",
"paginate": {
"sFirst": "首页",
"sPrevious": "上一页",
"sNext": "下一页",
"sLast": "尾页"
}
}