张冲冲
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>
评论
所有回答列表(3)
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日





