张冲冲
2017-09-20 17:12:09
完
关于分页后台出现参数错误
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ include file="./comm_checkuser.jsp" %> <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <meta name="renderer" content="webkit|ie-comp|ie-stand"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> <meta http-equiv="Cache-Control" content="no-siteapp" /> <link rel="stylesheet" type="text/css" href="../assets/static/h-ui/css/H-ui.min.css" /> <link rel="stylesheet" type="text/css" href="../assets/static/h-ui.admin/css/H-ui.admin.css" /> <link rel="stylesheet" type="text/css" href="../assets/lib/Hui-iconfont/1.0.8/iconfont.css" /> <link rel="stylesheet" type="text/css" href="../assets/lib/icheck/skins/minimal/minimal.css" /> <link rel="stylesheet" type="text/css" href="../assets/static/h-ui.admin/skin/default/skin.css" id="skin" /> <link rel="stylesheet" type="text/css" href="../assets/lib/laypage/1.2/laypage.js"> <link rel="stylesheet" type="text/css" href="../assets/static/h-ui.admin/css/style.css" /> <title>用户信息</title> </head> <body> <nav class="breadcrumb"> <a class="btn btn-success radius r" style="line-height:1.6em;margin-top:3px" href="javascript:location.replace(location.href);" title="刷新"><i class="Hui-iconfont"></i></a> </nav> <div class="page-container"> <div class="cl pd-5 bg-1 bk-gray mt-20"> <div class="l"> <a href="javascript:;" onclick="del(getDTSelect(), '/patientinfo/del/', reloadTable)" class="btn btn-danger radius"><i class="Hui-iconfont"></i> 批量删除</a> <a class="btn btn-primary radius" onclick="add('添加','addpatientinfo.jsp')" href="javascript:;"><i class="Hui-iconfont"></i> 添加</a> </div> <div class="r"> <input type="text" id="search" placeholder="姓名或者身份证" style="width:250px" class="input-text"> <button id="doSearch" class="btn btn-success" type="submit"><i class="Hui-iconfont"></i> 搜索</button> </div> </div> <div class="mt-20"> <table class="table table-border table-bordered table-hover table-bg table-sort" width="100%"> <thead> <tr class="text-c"> <th><input id="input-0" type="checkbox" name="all"><label for="input-0"></label></th> <th>ID</th> <th>姓名</th> <th>性别</th> <th>出生日期</th> <th>省份证</th> <th>电话</th> <th>现居住地</th> <th>病人消费性质</th> <th>社保号</th> <th>身高</th> <th>体重</th> <th>操作</th> </tr> </thead> </table> </div> </div> <script type="text/javascript" src="../assets/lib/jquery/1.9.1/jquery.min.js"></script> <script type="text/javascript" src="../assets/lib/layer/2.4/layer.js"></script> <script type="text/javascript" src="../assets/lib/icheck/icheck.min.js"></script> <script type="text/javascript" src="../assets/lib/datatables/1.10.0/jquery.dataTables.min.js"></script> <script type="text/javascript" src="../assets/static/h-ui/js/H-ui.js"></script> <script type="text/javascript" src="../assets/static/h-ui.admin/js/H-ui.admin.js"></script> <script type="text/javascript"> var contextPath = "${pageContext.request.contextPath}";</script> <script type="text/javascript" src="../assets/lib/datatables/datatables.optimize.js"></script> <script type="text/javascript" src="../assets/pages/commandScript.js"></script> <script type="text/javascript" src="../assets/pages/patientinfo-list.js"></script> </body> </html>
/** * DataTables */ var datatable = null,idList=[]; $(function() { datatable = $('.table-sort').DataTable({ ajax: { url: contextPath + "/xxxx/getPageList", type: 'post', data: function(d) { d.search = $('#search').val(); } }, columns: [{ data: "id" },{ data: "id" }, { data: "username" }, { data: "usersex", defaultContent: "" }, { data:"userbirth", defaultContent: "" }, { data: "useridcard", defaultContent: "" }, { data: "userphone", defaultContent: "" }, { data: "useradress", defaultContent: "" }, { data: "userexpensetype", defaultContent: "" }, { data: "socialinsurancenumber", defaultContent: "" }, { data: "userhight", defaultContent: "" }, { data: "userweight", defaultContent: "" }], columnDefs: [{ targets: [0], orderable:false, render: function(data, type, row, meta) { return '<input id="input-' + data + '" type="checkbox" name="single"><label for="input-' + data + '"></label>'; } }, { targets: [4], render: function(data, type, row, meta) { return data ? new Date(data).pattern("yyyy-MM-dd hh:mm:ss") : ''; } }, { targets: [12], responsivePriority: 1, render: function(data, type, row, meta) { return '<a title="编辑" href="javascript:;" onclick="edit(\'菜单编辑\',\'addpatientinfo.jsp\',' + row.id + ',\'500\',\'480\')" style="text-decoration:none"><i class="Hui-iconfont"></i></a>\ <a title="删除" href="javascript:;" onclick="del([' + row.id + '],\'/patientinfo/del/\',reloadTable)" class="ml-5" style="text-decoration:none"><i class="Hui-iconfont"></i></a>'; } }] }); }); /** * 刷新DT */ function reloadTable() { datatable.ajax.reload(true, true); } /** * 获取datatables选中行的ID */ function getDTSelect() { var lines = datatable.rows('.selected').data(); for (var i = 0; i < lines.length; i++) { idList.push(lines[i].id); } return idList; }
package com.ekz.comment.controller; import java.util.Date; import java.util.List; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.ekz.comment.model.Patientinfo; import com.ekz.comment.service.PatientinfoService; import com.ekz.system.util.DataTables; @Controller @RequestMapping("/patientinfo") public class PatientinfoController { @Autowired HttpServletRequest request;// 请求 @Autowired private PatientinfoService service; /** * 获取集合列表 * @return */ @RequestMapping(value = "/getPageList", method = RequestMethod.POST, produces = "application/json; charset=utf-8") @ResponseBody public String getPageList(){ return JSON.toJSONString(service.getPageList(DataTables.getInstance(request, null))); } }
package com.ekz.comment.service.impl; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import com.ekz.comment.dao.PatientinfoMapper; import com.ekz.comment.model.Patientinfo; import com.ekz.comment.service.PatientinfoService; import com.ekz.system.base.BaseService; import com.ekz.system.util.DataTables; import com.ekz.system.util.RequestStatus; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @Service public class PatientinfoServiceImpl extends BaseService implements PatientinfoService{ @Autowired private PatientinfoMapper patientinfo; @Override public DataTables getPageList(DataTables dataTables) { PageHelper.startPage(dataTables.getStart(), dataTables.getLength()); // 核心分页代码 PageHelper.orderBy("id desc"); if(!StringUtils.isEmpty(dataTables.getColumn())){ String column = propertyToColumn(PatientinfoMapper.class, dataTables.getColumn()); if(!StringUtils.isEmpty(column)){ PageHelper.orderBy(column + " " + dataTables.getOrder()); } } PageInfo<Patientinfo> pageInfo = new PageInfo<Patientinfo>(patientinfo.getPageList(dataTables.getSearch(), dataTables.getSubSQL())); dataTables.setRecordsTotal(pageInfo.getTotal()); dataTables.setRecordsFiltered(pageInfo.getTotal()); dataTables.setData(pageInfo.getList() != null ? pageInfo.getList() : new ArrayList<>()); return dataTables; } }
package com.ekz.system.util; import java.util.List; import javax.servlet.http.HttpServletRequest; import org.springframework.util.StringUtils; /** * datatables实体类,用于传递参数 * * * */ public class DataTables implements java.io.Serializable { /** * 版本 */ private static final long serialVersionUID = -4352856640468897683L; private Integer start;// 起始行数 private Integer length;// 页面大小 private String search;// 搜索的字符串 private String order;// 排序方式desc or asc private String column;//需要排序的列 private long recordsTotal;// 数据库中的结果总行数 private long recordsFiltered;// 搜索过滤后的行数 private Integer draw; //datatables建议将此参数传回 private List<?> data;// 结果集 private String subSQL;//手动拼装的额外参数 public DataTables() {}; public DataTables(Integer start, String search, Integer length, String order, String column, Integer pageNum, Integer recordsTotal, Integer recordsFiltered, Integer draw, String subSQL) { this.start = start; this.length = length; this.search = search; this.order = order; this.draw = draw; this.column = column; this.recordsTotal = recordsTotal; this.recordsFiltered = recordsFiltered; this.setSubSQL(subSQL); } public DataTables(HttpServletRequest request, String subSQL){ length = StringUtils.isEmpty(request.getParameter("length"))?10:Integer.parseInt(request.getParameter("length")); start = StringUtils.isEmpty(request.getParameter("start"))?0:Integer.parseInt(request.getParameter("start")); // length=0; draw = StringUtils.isEmpty(request.getParameter("draw"))?0:Integer.parseInt(request.getParameter("draw")); search = StringUtils.isEmpty(request.getParameter("search"))?null:request.getParameter("search"); order = request.getParameter("order[0][dir]"); column = request.getParameter("columns["+request.getParameter("order[0][column]")+"][data]"); this.setSubSQL(subSQL); } public static DataTables getInstance(HttpServletRequest request, String subSQL){ return new DataTables(request, subSQL); }; public Integer getStart() { return start; } public void setStart(Integer start) { this.start = start; } public String getSearch() { return search; } public void setSearch(String search) { this.search = search; } public Integer getLength() { return length; } public void setLength(Integer length) { this.length = length; } public String getOrder() { return order; } public void setOrder(String order) { this.order = order; } public List<?> getData() { return data; } public void setData(List<?> data) { this.data = data; } public Integer getDraw() { return draw; } public void setDraw(Integer draw) { this.draw = draw; } public long getRecordsTotal() { return recordsTotal; } public void setRecordsTotal(long recordsTotal) { this.recordsTotal = recordsTotal; } public long getRecordsFiltered() { return recordsFiltered; } public void setRecordsFiltered(long recordsFiltered) { this.recordsFiltered = recordsFiltered; } public String getColumn() { return column; } public void setColumn(String column) { this.column = column; } public String getSubSQL() { return subSQL; } public void setSubSQL(String subSQL) { this.subSQL = subSQL; } }
<select id="getPageList" resultMap="BaseResultMap"> SELECT ID, UserName, UserSex, UserIDCard, UserExpenseType, SocialInsuranceNumber, UserPhone, DATE_FORMAT(UserBirthday,'%Y-%m-%d %h:%i:%s') AS UserBirthday, UserAdress, UserHight, UserWeight, age, age_unit, inpatient_no, occupation, marry, blood, patient_id FROM patientinfo <where> <if test="subSQL != null and subSQL !='' "> ${subSQL} </if> <if test="search != null and search !=''"> INSTR(ifnull(UserName,''),'${search}') > 0 or INSTR(ifnull(useridcard,''),'${search}') > 0 </if> </where> </select>
评论

Smail_ LV19
2017年9月27日
PageHelper.startPage(dataTables.getPageNum(), dataTables.getLength()); // 核心分页代码 PageHelper.orderBy("id desc"); if(!StringUtils.isEmpty(dataTables.getColumn())){ String column = propertyToColumn(CategoryMapper.class, dataTables.getColumn()); if(!StringUtils.isEmpty(column)){ PageHelper.orderBy(column + " " + dataTables.getOrder()); } }
这是我程序的一个BUG!
PageHelper.startPage(dataTables.getPageNum(), dataTables.getLength()); // 核心分页代码 PageHelper.orderBy("id desc");
这里只能传pageNum,不能传start!
- 等 最代码怎么获取牛币啊?
- 完 谁来告诉我最代码上线的时间,答对者给5牛币,先来先得
- 等 牛友们,大家好,你们做程序员多久了?现在还好吗?
- 完 在微信打开的页面里进行app下载
- 等 最代码2014年欢乐聚声会
- 完 mysql如何查询表数据并且对3个字段降序的SQL?
- 完 最代码牛币机制改革
- 完 成功的在bae上使用了自定义运行环境 jetty+nginx的组合,大家对jetty+nginx优化有哪些心得?
- 完 进来分享一下各位牛牛是如何加入最代码大家庭的?
- 等 为什么java BufferedImage类处理大图直接抛出内存溢出的异常?
- 等 最代码是否开发手机app客户端?
- 完 java程序员学习哪些java的技术?java有哪些框架?都能做哪方面的开发?
- 等 php格式网页文件怎么运行?
- 等 Java volatile值获取的问题
- 等 前端vue,拦截了登录后台后,返回的token,requests拦截token,但是发送请求的时候,就出现跨越异常
- 等 大专本科计算机科班怎么找到Java工作?
- 等 eclipse怎么把三个java swing游戏项目合成一个项目?
- 完 伙伴们,大家都有什么好的解压方式么,分享一下~
- 完 三四线城市,6、7k,运维工作,索然无味,想去辞职上培训,各位牛牛有什么建议嘛
- 等 jsp页面输入中文变成问号
- 等 JPA在线上运行一段时间后报错Caused by: java.lang.IncompatibleClassChangeError: null
- 等 PHP 这个规则用preg_match_all怎么写
- 等 大佬们,有没有知道Alfresco如何配置LDAP登录呢?
- 等 php的install目录是框架带的吗?


1204820258 LV6
2020年7月13日
46161476 LV1
2019年8月25日
rzl2016 LV10
2019年4月7日
qq893289894
2018年7月31日
暂无贡献等级
qq578006426 LV10
2018年6月16日
asd45211 LV9
2018年6月10日
1183319918 LV2
2018年5月22日
二十八画 LV6
2018年5月7日
550475064 LV2
2018年5月7日
周敬航 LV2
2018年1月23日