easyui 的datagrid点击第二页时显示的内容和第一页相同
来源:互联网 发布:广西航信金税盘软件 编辑:程序博客网 时间:2024/05/17 03:32
easyui 的datagrid点击第二页时显示的内容和第一页相同
后台也将total和所有的数据都返回给datagrid了。
这个问题这主要是没有给datagrid添加翻页的出发的事件。
完整的datagrid(HTML+easyui+Jquery+MVC+Mybatis)实现CRUD如下:
JS:
/**
* Created by Administrator on 2017/5/19 0019.
*/
/**
* Created by Administrator on 2017/5/17 0017.
*/
// *******************全局变量**************************************
$(function(){
//使用javascript创建datagrid插件
createDatagrid();
//将数据库中的数据加载出来传到前台页面的datagrid
transportMsgData();
//点击新建按钮,弹出新建的弹窗$("#addMsg").click(function(){ //关闭所有的弹窗 closeAllDialogs(); //加载快递单ID信息 loadTrackIds(); //弹出增加弹窗 $("#dd_add").dialog({closed:false});});//点击新增弹窗的确定按钮$('#addConfirm').click(function(){ //执行新增快递运输信息的方法 addNewTransport(); //关闭弹窗 $("#dd_add").dialog({closed:true}); //刷新当前页面 window.location.reload();});//点击修改按钮,弹出修改的弹窗$("#editMsg").click(function(){ //关闭所有的弹窗 closeAllDialogs(); //获取datagrid中被选中的行 var selected = $('#dg').datagrid('getSelected'); //如果选中的行不为空 if(selected != null){ //将选中的参数传给编辑表单对应的输入框 setEditDialogFormTransportValue(selected); //弹出增加弹窗 $("#dd_update").dialog({closed:false}); }else{ //如果选中的行为空,提示用户先选中一行 $.messager.show({ title:'修改快递运费信息', msg:'请先选中一条记录', timeout:3000, showType:'slide' }); }});//点击编辑弹窗的确定按钮$('#editConfirm').click(function(){ //执行编辑快递单信息的方法 editTransportMsg(); //关闭弹窗 $("#dd_edit").dialog({closed:true}); //刷新当前页面 window.location.reload();});//点击删除按钮,弹出修改的弹窗$("#deleteMsg").click(function(){ //关闭所有的弹窗 closeAllDialogs(); //获取datagrid中被选中的行 var selected = $('#dg').datagrid('getSelected'); //如果选中的行不为空 if(selected != null){ //将选中的参数传给编辑表单对应的输入框 if(!judgeInputIsEmpty(selected.transport_id)) { $('#deleteForm input[name="transport_id"]').val(selected.transport_id); } //弹出增加弹窗 $("#dd_delete").dialog({closed:false}); }else{ //如果选中的行为空,提示用户先选中一行 $.messager.show({ title:'删除物流路线图信息', msg:'请先选中一条记录', timeout:3000, showType:'slide' }); }});//点击删除弹窗的确定按钮$('#deleteConfirm').click(function(){ //执行删除物流路线信息的方法 deleteTransport(); //关闭弹窗 $("#dd_delete").dialog({closed:true}); //刷新当前页面 window.location.reload();});//点击查询弹窗的确定按钮$('#searchConfirm').click(function(){ //执行查询物流路线图信息的方法 searchTransport(); //关闭弹窗 $("#dd_search").dialog({closed:true});});//点击查询按钮,弹出查询的弹窗$("#searchMsg").click(function(){ //关闭所有的弹窗 closeAllDialogs(); //设置查询窗口默认样式 setSearchDialogFormTransportValue(); //弹出查询弹窗 $("#dd_search").dialog({closed:false});});//新增表单中添加站点的按钮$('#addForm input.addStation').click(function () { $('#addForm tbody').append('<tr class="station"><td colspan="2">'+ '<input name="logisticsPath_roadmap" type="text" required="required" placeholder="输入站点名称" />'+ '</td></tr>');});//新增表单中添加站点的按钮$('#addForm input.deleteStation').click(function () { //删除table里的最后一个站点 $('#addForm tr.station:last').remove();});
});
//使用javascript创建datagrid插件
function createDatagrid(){
(‘#dg’).datagrid({
toolbar:’#tb’,
pagination:true,
pageSize:15,
pagination:true,
pageNumber:1,
pageList:[15,30,45],
height: 500,
singleSelect:true,
loadMsg: ‘正在加载数据…’,
columns:[[
{field:’transport_id’,title:’快递运输id’,width:60,align:’center’,hidden:true},
{field:’transport_startStation’,title:’快递运输始发站’,width:120,align:’center’},
{field:’transport_nextStation’,title:’快递运输下一站’,width:100,align:’center’},
{field:’transport_date’,title:’快递运输日期’,width:150,align:’center’,
formatter:function(value,row,index){
var date = new Date(value);
return date.toLocaleDateString()+” “+date.toLocaleTimeString();
}},
{field:’track_id’,title:’快递单id’,width:60,align:’center’},
{field:’client_id’,title:’寄件人id’,width:100,align:’center’,hidden:true},
{field:’recipients_id’,title:’收件人id’,width:100,align:’center’,hidden:true},
{field:’package_id’,title:’包裹id’,width:100,align:’center’,hidden:true},
{field:’employee_id’,title:’员工id’,width:100,align:’center’,hidden:true},
{field:’track_date’,title:’快递单日期’,width:100,align:’center’,
formatter:function(value,row,index){
var date = new Date(value);
return date.toLocaleDateString();
},hidden:true}
]]
});(‘#dg’).datagrid(‘getPager’).pagination({
onSelectPage:function(pageNumber,pageSize) {
var num = pageNumber;
var size = pageSize;
.ajax({
url:’/loadTransportMsgData.transport’,
type:’post’,
data:{‘page’: num,’rows’: size},
dataType:’json’,
async : false,
success:function(data){
//测试数据是否可以正常显示
//console.log(data);(‘#dg’).datagrid(‘loadData’, data);
},
error:function(data){
.messager.show({
title:’加载快递运输信息’,
msg:’加载失败’,
timeout:3000,
showType:’slide’
});
}
}) ;
}
});
}
//将数据库中的数据加载出来传到前台页面的datagrid的方法
function transportMsgData(){
//debugger;
var p =(‘#dg’).datagrid(‘getPager’);
//获得datagrid的page和size参数
var num = p.data(‘pagination’).options.pageNumber;
var size = p.data(‘pagination’).options.pageSize;
if (p)
{
.ajax({
url:’/loadTransportMsgData.transport’,
type:’post’,
data:{‘page’: num,’rows’: size},
dataType:’json’,
async : false,
success:function(data){
//测试数据是否可以正常显示
//console.log(data);(‘#dg’).datagrid(‘loadData’, data);
},
error:function(data){
.messager.show({
title:’加载物流路线图信息’,
msg:’加载失败’,
timeout:3000,
showType:’slide’
});
}
}) ;
}else{.messager.show({
title:’加载物流路线图信息’,
msg:’加载失败’,
timeout:3000,
showType:’slide’
});
}
}
//加载快递单ID信息
function loadTrackIds(){
.ajax({
url:’/loadTrackIdsData.transport’,
type:’post’,
data:{},
dataType:’text’,
async : false,
success:function(data){
//在浏览器控制台查看返回的数据
//console.log(“stationIds”+data)
//取出所有的stationIds
var trackIds = new Array();
trackIds = data.split(‘,’);
//在浏览器控制台查看返回的数据
//console.log(“employeeIds”+employeeIds);
if(trackIds != null){
//删除新增表单站点下拉框的所有选项(‘select[name=”track_id”]’).empty();
//新增表单站点下拉框的添加选项
for(var id = 0; id < trackIds.length; id ++){
(‘select[name=”track_id”]’).append(‘‘+trackIds[id]+’‘);
}
}
},
error:function(data){.messager.show({
title:’加载快递单ID信息’,
msg:’加载失败’,
timeout:3000,
showType:’slide’
});
}
}) ;
}
//执行新增快递运输信息的方法
function addNewTransport(){
//获取增加表单的参数
var transport_startStation = (‘#addForm input[name=”transport_startStation”]’).val();
var track_id =(‘#addForm select[name=”track_id”]’).val();
var transport_nextStation = (‘#addForm input[name=”transport_nextStation”]’).val();
//将表单内容通过ajax传给后台.ajax({
url:’/addTransportData.transport’,
type:’post’,
data:{
transport_startStation:transport_startStation,track_id:track_id,
transport_nextStation:transport_nextStation
},
dataType:’text’,
async : false,
success:function(data){
//查看data的值
//console.log(data);
//window.alert(data.msg);
if(data == ‘true’){
.messager.show({
title:’快递运输信息’,
msg:’新增快递运输信息成功!’,
timeout:3000,
showType:’slide’
});
}else{.messager.show({
title:’快递运输信息’,
msg:’新增快递运输信息失败!(后台操作错误)’,
timeout:3000,
showType:’slide’
});
}
},
error:function(data){
$.messager.show({
title:’快递运输信息’,
msg:’新增增快递运输信息失败!(可能是数据格式错误)’,
timeout:3000,
showType:’slide’
});
}
}) ;
}
//将选中的参数传给编辑表单对应的输入框
function setEditDialogFormTransportValue(obj){
loadTrackIds();
(‘#editForm input[name=”transport_startStation”]’).val(obj.transport_startStation);(‘#editForm select[name=”track_id”] option[value=”’+obj.track_id+’”]’).attr(“selected”, true);
(‘#editForm select[name=”track_id”] option[value=”’+obj.track_id+’”]’).siblings().attr(“selected”, false);(‘#editForm input[name=”transport_id”]’).val(obj.transport_id);
$(‘#editForm input[name=”transport_nextStation”]’).val(obj.transport_nextStation);
}
//执行编辑快递运输信息的方法
function editTransportMsg(){
//获取增加表单的参数
var transport_id = (‘#editForm input[name=”transport_id”]’).val();
var transport_startStation =(‘#editForm input[name=”transport_startStation”]’).val();
var transport_nextStation = (‘#editForm input[name=”transport_nextStation”]’).val();
var track_id =(‘#editForm select[name=”track_id”]’).val();
//将表单内容通过ajax传给后台
.ajax({
url:’/editTransportData.transport’,
type:’post’,
data:{
transport_startStation:transport_startStation,track_id:track_id,
transport_nextStation:transport_nextStation,transport_id:transport_id
},
dataType:’text’,
async : false,
success:function(data){
//查看data的值
//console.log(data);
//window.alert(data.msg);
if(data == ‘true’){.messager.show({
title:’快递运输信息’,
msg:’修改快递运输信息成功!’,
timeout:3000,
showType:’slide’
});
}else{
.messager.show({
title:’快递运输信息’,
msg:’修改快递运输信息失败!(后台操作错误)’,
timeout:3000,
showType:’slide’
});
}
},
error:function(data){.messager.show({
title:’快递运输信息’,
msg:’修改快递运输信息失败!(可能是数据格式错误)’,
timeout:3000,
showType:’slide’
});
}
}) ;
}
//执行删除站点信息的方法
function deleteTransport(){
//获取增加表单的参数
var transport_id = (‘#deleteForm input[name=”transport_id”]’).val();
//将表单内容通过ajax传给后台.ajax({
url:’/deleteTransportData.transport’,
type:’post’,
data:{transport_id:transport_id},
dataType:’text’,
async : false,
success:function(data){
//查看data的值
//console.log(data);
//window.alert(data.msg);
if(data == ‘true’){
.messager.show({
title:’快递运输信息’,
msg:’删除快递运输信息成功!’,
timeout:3000,
showType:’slide’
});
}else{.messager.show({
title:’快递运输信息’,
msg:’删除快递运输信息失败!(后台操作错误)’,
timeout:3000,
showType:’slide’
});
}
},
error:function(data){
$.messager.show({
title:’快递运输信息’,
msg:’删除快递运输信息失败!(可能是数据格式错误)’,
timeout:3000,
showType:’slide’
});
}
}) ;
}
//设置查询窗口默认样式
function setSearchDialogFormTransportValue(){
loadTrackIds();
$(‘#searchForm select[name=”track_id”]’).prepend(‘‘);
}
//执行查询快递运输信息的方法
function searchTransport(){
//获取增加表单的参数
var transport_startStation = (‘#editForm input[name=”transport_startStation”]’).val();
var transport_nextStation =(‘#editForm input[name=”transport_nextStation”]’).val();
var track_id = (‘#editForm select[name=”track_id”]’).val();
var p =(‘#dg’).datagrid(‘getPager’);
//获得datagrid的page和size参数
var num = p.data(‘pagination’).options.pageNumber;
var size = p.data(‘pagination’).options.pageSize;
transport_startStation = ‘%’ + transport_startStation + ‘%’;
transport_nextStation = ‘%’ + transport_nextStation + ‘%’;
if(p){
//将表单内容通过ajax传给后台
.ajax({
url:’/searchTransportData.transport’,
type:’post’,
data:{
num:num,size:size,
transport_startStation:transport_startStation,track_id:track_id,
transport_nextStation:transport_nextStation
},
dataType:’json’,
async : false,
success:function(data){
//测试数据是否可以正常显示
//console.log(data);(‘#dg’).datagrid(‘loadData’, data);
},
error:function(data){
$.messager.show({
title:’快递运输信息’,
msg:’查询快递运输信息失败!(可能是数据格式错误)’,
timeout:3000,
showType:’slide’
});
}
}) ;
}
}
servlet:
package com.wzb.servlet;
import com.wzb.dao.ServletMethodsDao;
import com.wzb.impl.LogisticsPathImpl;
import com.wzb.impl.TransportImpl;
import com.wzb.model.LogisticsPathViewModel;
import com.wzb.model.TransportViewModel;
import com.wzb.utils.JsonData;
import org.json.JSONObject;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Created by Administrator on 2017/5/17 0017.
*/
public class TransportMsgServlet extends HttpServlet implements ServletMethodsDao {
//设置私有成员变量保存分页的单页容纳记录数
private int pageSize = 0;
//设置私有成员变量保存分页的页数
private int pageNum = 0;
//设置私有成员变量保存总记录数
private int total = 0;
//setter方法public void setPageSize(int pageSize) { this.pageSize = pageSize;}public void setPageNum(int pageNum) { this.pageNum = pageNum;}public void setTotal(int total) { this.total = total;}//getter方法public int getPageNum() { return pageNum;}public int getPageSize() { return pageSize;}public int getTotal() { return total;}@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //设置编码格式 req.setCharacterEncoding("utf-8"); resp.setCharacterEncoding("utf-8"); //获取不同的请求路径 String methodURI = req.getRequestURI(); //由请求路径获得请求的方法 String method = null; try { //去除“/”和".*"的部分,例如“/allUsersMsg.message”,只留“allUsersMsg” String[] str1 = methodURI.split("\\."); String[] str2 = str1[0].split("/"); method = str2[1]; } catch (Exception e) { e.printStackTrace(); } //如果action是“login.login”,method=login if (method != null && "loadTransportMsgData".equals(method)) { try { //如果是登陆页面提交的表单就交给下面方法 loadData(req, resp); } catch (Exception e) { e.printStackTrace(); } } else if (method != null && "addTransportData".equals(method)) { try { //如果是登陆页面提交的表单就交给下面方法 insertData(req, resp); } catch (Exception e) { e.printStackTrace(); } } else if (method != null && "editTransportData".equals(method)) { try { //如果是登陆页面提交的表单就交给下面方法 updateData(req, resp); } catch (Exception e) { e.printStackTrace(); } }else if (method != null && "deleteTransportData".equals(method)) { try { //如果是登陆页面提交的表单就交给下面方法 deleteData(req, resp); } catch (Exception e) { e.printStackTrace(); } }else if (method != null && "searchTransportData".equals(method)) { try { //如果是登陆页面提交的表单就交给下面方法 searchData(req, resp); } catch (Exception e) { e.printStackTrace(); } }else if (method != null && "loadTrackIdsData".equals(method)) { try { //如果是登陆页面提交的表单就交给下面方法 loadTrackIdsData(req, resp); } catch (Exception e) { e.printStackTrace(); } }}/** * 加载所有的快递单ID * @param request * @param response * @throws Exception */private void loadTrackIdsData(HttpServletRequest request, HttpServletResponse response) throws Exception { //创建业务操作对象 TransportImpl transportImpl = new TransportImpl(); //调用操作方法获取所有的stationIds List<Integer> ids = (List<Integer>)transportImpl.getAllTrackIds(); //设置一个字符串变量保存所有的stationId String str = ""; for (Integer id : ids){ str = str + id; str = str + ","; } str = str.substring(0, str.length() - 1); //打印IDs //System.out.println("str : "+str); //使用PrintWriter向ajax传递值 PrintWriter out = response.getWriter(); try { out.print(str); }catch (Exception e){ //打印异常信息 System.out.println("Error Location : "+"TransportServlet"+"."+"loadTrackIdsData"); System.out.println("Error Case : "+"加载所有的快递单ID"+"失败"); e.printStackTrace(); }finally { //关闭数据库会话 transportImpl.closeSqlSession(); //刷新输出流 out.flush(); //关闭输出流 out.close(); }}//加载快递运输信息@Overridepublic void loadData(HttpServletRequest request, HttpServletResponse response) throws Exception { //获取ajax提交的翻页的num和size try { this.setPageNum(Integer.parseInt(request.getParameter("page"))); this.setPageSize(Integer.parseInt(request.getParameter("rows"))); //测试ajax传入的两个数据是否正确 //System.out.println("page:"+page+",rows:"+rows); }catch (Exception e) { System.out.println("数据格式转换错误(loadData)!"); } //获取从后台获取的数据 //创建业务操作对象 TransportImpl transportImpl = new TransportImpl(); //获取记录总数 this.setTotal(transportImpl.sumTransportMsgRecords()); //将page,rows,total的值传入到chargeManageImpl对象实例 transportImpl.setTotal(this.getTotal()); transportImpl.setPage(this.getPageNum()); transportImpl.setRows(this.getPageSize()); //获取查询结果 List<JSONObject> list = (List<JSONObject>)transportImpl.getTransportMsgRecordsByLimit(new HashMap<String,Object>()); //打印查询结果 //使用PrintWriter向ajax传递值 PrintWriter out = response.getWriter(); //使用Json工具将取出的数据转化为json数据 JSONObject jsonObject = null; try { jsonObject = JsonData.jsonData(list, this.getTotal()); //向页面发送json格式的数据 out.print(jsonObject); }catch (Exception e){ //打印异常信息 System.out.println("Error Location : "+"TransportServlet"+"."+"loadData"); System.out.println("Error Case : "+"加载快递运输信息"+"失败"); e.printStackTrace(); }finally { //关闭数据库会话 transportImpl.closeSqlSession(); //刷新输出流 out.flush(); //关闭输出流 out.close(); }}//新增快递运输信息@Overridepublic void insertData(HttpServletRequest request, HttpServletResponse response) throws Exception { //创建一个模型类实例,并给各个属性赋值 TransportViewModel transportViewModel = new TransportViewModel(); //获取ajax传递的参数 String transport_startStation = null; Integer track_id = null; String transport_nextStation = null; if(request.getParameter("transport_startStation") != null && !"".equals(request.getParameter("transport_startStation"))){ transport_startStation = request.getParameter("transport_startStation"); transportViewModel.setTransport_startStation(transport_startStation); } if(request.getParameter("track_id") != null && !"".equals(request.getParameter("track_id"))){ track_id = Integer.valueOf(request.getParameter("track_id")); transportViewModel.setTrack_id(track_id); } if(request.getParameterValues("transport_nextStation") != null && !"".equals(request.getParameterValues("transport_nextStation"))){ transport_nextStation = request.getParameter("transport_nextStation"); transportViewModel.setTransport_nextStation(transport_nextStation); } //打印参数 //System.out.println("insert params : "+transportViewModel); //创建业务操作对象 TransportImpl transportImpl = new TransportImpl(); //调用xxxImpl的方法向数据库插入数据 int returnValue = 0; //执行插入操作 returnValue = transportImpl.insertTransport(transportViewModel); //创建一个输出流对象 PrintWriter out = response.getWriter(); //定义一个判断插入是否成功的变量 boolean flag = false; //如果returnValue等于1,表示插入成功,否则失败 if(returnValue == 1){ flag = true; } try { out.print(String.valueOf(flag)); }catch (Exception e){ //打印异常信息 System.out.println("Error Location : "+"TransportServlet"+"."+"insertData"); System.out.println("Error Case : "+"新增快递运输信息"+"失败"); e.printStackTrace(); }finally { //关闭数据库会话 transportImpl.commitAndCloseSqlSession(); //刷新输出流 out.flush(); //关闭输出流 out.close(); }}//修改快递运输信息@Overridepublic void updateData(HttpServletRequest request, HttpServletResponse response) throws Exception { //创建一个模型类实例,并给各个属性赋值 TransportViewModel transportViewModel = new TransportViewModel(); //获取ajax传递的参数 String transport_startStation = null; Integer track_id = null; String transport_nextStation = null; if(request.getParameter("transport_startStation") != null && !"".equals(request.getParameter("transport_startStation"))){ transport_startStation = request.getParameter("transport_startStation"); transportViewModel.setTransport_startStation(transport_startStation); } if(request.getParameter("track_id") != null && !"".equals(request.getParameter("track_id"))){ track_id = Integer.valueOf(request.getParameter("track_id")); transportViewModel.setTrack_id(track_id); } if(request.getParameterValues("transport_nextStation") != null && !"".equals(request.getParameterValues("transport_nextStation"))){ transport_nextStation = request.getParameter("transport_nextStation"); transportViewModel.setTransport_nextStation(transport_nextStation); } //创建业务操作对象 TransportImpl transportImpl = new TransportImpl(); //调用xxxImpl的方法向数据库插入数据 int returnValue = transportImpl.updateTransport(transportViewModel); //创建一个输出流对象 PrintWriter out = response.getWriter(); //定义一个判断插入是否成功的变量 boolean flag = false; //如果returnValue等于1,表示插入成功,否则失败 if(returnValue == 1){ flag = true; } try { out.print(String.valueOf(flag)); }catch (Exception e){ //打印异常信息 System.out.println("Error Location : "+"TransportServlet"+"."+"updateData"); System.out.println("Error Case : "+"修改快递运输信息"+"失败"); e.printStackTrace(); }finally { //关闭数据库会话 transportImpl.commitAndCloseSqlSession(); //刷新输出流 out.flush(); //关闭输出流 out.close(); }}//删除快递运输信息@Overridepublic void deleteData(HttpServletRequest request, HttpServletResponse response) throws Exception { //获取ajax传递的参数 Integer transport_id = null; if(request.getParameter("transport_id") != null && !"".equals(request.getParameter("transport_id"))){ transport_id = Integer.valueOf(request.getParameter("transport_id")); } //查看参数 //System.out.println("payroll_id : "+payroll_id); //创建业务操作对象 TransportImpl transportImpl = new TransportImpl(); //调用xxxImpl的方法向数据库插入数据 int returnValue = transportImpl.deleteTransport(transport_id); //创建一个输出流对象 PrintWriter out = response.getWriter(); //定义一个判断插入是否成功的变量 boolean flag = false; //如果returnValue等于1,表示插入成功,否则失败 if(returnValue == 1){ flag = true; } try { out.print(String.valueOf(flag)); }catch (Exception e){ //打印异常信息 System.out.println("Error Location : "+"TransportServlet"+"."+"deleteData"); System.out.println("Error Case : "+"删除快递运输信息"+"失败"); e.printStackTrace(); }finally { //关闭数据库会话 transportImpl.commitAndCloseSqlSession(); //刷新输出流 out.flush(); //关闭输出流 out.close(); }}//查询快递运输信息@Overridepublic void searchData(HttpServletRequest request, HttpServletResponse response) throws Exception { //创建一个Map类实例,并给各个属性赋值 Map<String, Object> map = new HashMap<String, Object>(); //获取ajax提交的翻页的num和size try { this.setPageNum(Integer.parseInt(request.getParameter("page"))); this.setPageSize(Integer.parseInt(request.getParameter("rows"))); } catch (Exception e) { System.out.println("数据格式转换错误(loadData)!"); } //获取ajax传递的参数 String transport_startStation = null; Integer track_id = null; String transport_nextStation = null; if(request.getParameter("transport_startStation") != null && !"".equals(request.getParameter("transport_startStation"))){ transport_startStation = request.getParameter("transport_startStation"); map.put("transport_startStation",transport_startStation); } if(request.getParameter("track_id") != null && !"".equals(request.getParameter("track_id"))){ track_id = Integer.valueOf(request.getParameter("track_id")); map.put("track_id",track_id); }if(request.getParameter("transport_nextStation") != null && !"".equals(request.getParameter("transport_nextStation"))){ transport_nextStation = request.getParameter("transport_nextStation"); map.put("transport_nextStation",transport_nextStation); } //创建业务操作对象 TransportImpl transportImpl = new TransportImpl(); //获取记录总数 this.setTotal(transportImpl.sumTransportMsgRecords()); //将page,rows,total的值传入到chargeManageImpl对象实例 transportImpl.setTotal(this.getTotal()); transportImpl.setPage(this.getPageNum()); transportImpl.setRows(this.getPageSize()); //获取查询结果 List<JSONObject> list = (List<JSONObject>) transportImpl.searchTransport(map); //打印查询结果 //使用PrintWriter向ajax传递值 PrintWriter out = response.getWriter(); //使用Json工具将取出的数据转化为json数据 JSONObject jsonObject = null; try { jsonObject = JsonData.jsonData(list, this.getTotal()); //向页面发送json格式的数据 out.print(jsonObject); } catch (Exception e) { //打印异常信息 System.out.println("Error Location : "+"TransportServlet"+"."+"searchData"); System.out.println("Error Case : "+"查询快递运输信息"+"失败"); e.printStackTrace(); } finally { //关闭数据库会话 transportImpl.closeSqlSession(); //刷新输出流 out.flush(); //关闭输出流 out.close(); }}
}
操作类:
package com.wzb.impl;
import com.wzb.mappers.LogisticsPathMapper;
import com.wzb.mappers.TransportMapper;
import com.wzb.model.LogisticsPathViewModel;
import com.wzb.model.TransportViewModel;
import com.wzb.utils.SqlSessionFactoryUtils;
import org.apache.ibatis.session.SqlSession;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* Created by Administrator on 2017/5/19 0019.
*/
public class TransportImpl implements TransportMapper {
//封装sqlSession的实例作为成员变量
private SqlSession sqlSession = null;
//封装UserMapper实例作为成员变量
private TransportMapper transportMapper = null;
//封装一个常量保存登录信息表的总数据数量
private Integer total = 0;
//封装翻页的page和rows作为成员变量
//page表示当前的页码
//rows表示当前一页可以存储的记录数
private Integer page = 0;
private Integer rows = 0;
//construvtion methodpublic TransportImpl() { /** * 1.在执行方法前实例化sqlSession * 2.在执行方法前实例化xxxMapper * */ sqlSession = SqlSessionFactoryUtils.openSession(); transportMapper = sqlSession.getMapper(TransportMapper.class);}/** * 该方法用于关闭数据库会话 */public void closeSqlSession(){ sqlSession.close();}/** * 该方法用于提交数据库的操作和关闭会话 */public void commitAndCloseSqlSession(){ sqlSession.commit(); sqlSession.close();}//setter method and getter methodpublic Integer getTotal() { return total;}public void setTotal(Integer total) { this.total = total;}public Integer getPage() { return page;}public void setPage(Integer page) { this.page = page;}public Integer getRows() { return rows;}public void setRows(Integer rows) { this.rows = rows;}/** * 获取快递运输信息表中的所有记录总数 * @return */@Overridepublic int sumTransportMsgRecords() { //查询登录信息表一共有多少条信息 int count = 0; try{ //获取查询的记录总数 count = transportMapper.sumTransportMsgRecords(); //将总数传给total属性 this.setTotal(count); }catch(Exception e){ System.out.println("Error Location : "+"TransportImpl"+"."+"sumTransportMsgRecords"); System.out.println("Error Case : "+"获取快递运输信息表中的所有记录总数"+"失败"); e.printStackTrace(); } return count;}/** * 根据范围获取对应的快递运输信息表中记录 * @param map * @return */@Overridepublic List<?> getTransportMsgRecordsByLimit(Map<String, Object> map) { //定义可以分得页数 int pageNum = 0; //获取每页存储的数量 int num = getRows(); //获取总记录数 int count = getTotal(); try { //及计算每页显示的数目 pageNum = (int)Math.ceil((double)count/(double)num); }catch (Exception e) { e.printStackTrace(); } //定义查询的范围的开始编号和结束编号 int beginIndex = (page - 1) * num; int endIndex = 0; if(page < pageNum){ endIndex = page * num - 1; }else{ endIndex = total - beginIndex; } Map<String,Object> myMap = map; myMap.put("beginIndex",beginIndex); myMap.put("endIndex",endIndex); //查看分页参数 //System.out.println("分页参数 : "+myMap); //获取数据库的查询结果 List<TransportViewModel> list = (List<TransportViewModel>) transportMapper.getTransportMsgRecordsByLimit(myMap); //将集合中的类数据转化为json数据 List<JSONObject> list1 = new ArrayList<JSONObject>(); //定义一个json对象实例保存json数据 JSONObject jsonObject = null; try { //将类的每个属性及其对应的数据转化为json键值对 for(TransportViewModel transportViewModel : list){ jsonObject = new JSONObject(); jsonObject.put("transport_id", transportViewModel.getTransport_id()); jsonObject.put("transport_startStation", transportViewModel.getTransport_startStation()); jsonObject.put("transport_nextStation", transportViewModel.getTransport_nextStation()); jsonObject.put("transport_date", transportViewModel.getTransport_date()); jsonObject.put("track_id", transportViewModel.getTrack_id()); jsonObject.put("client_id", transportViewModel.getClient_id()); jsonObject.put("recipients_id", transportViewModel.getRecipients_id()); jsonObject.put("package_id", transportViewModel.getPackage_id()); jsonObject.put("employee_id", transportViewModel.getEmployee_id()); jsonObject.put("track_date", transportViewModel.getTrack_date()); list1.add(jsonObject); } }catch (Exception e){ System.out.println("Error Location : "+"TransportImpl"+"."+"getTransportMsgRecordsByLimit"); System.out.println("Error Case : "+"根据范围获取对应的快递运输信息表中记录"+"失败"); e.printStackTrace(); } return list1;}/** * 获取所有的快递单ID * @return */@Overridepublic List<?> getAllTrackIds() { List<Integer> trackIds = new ArrayList<Integer>(); try { trackIds = (List<Integer>)transportMapper.getAllTrackIds(); }catch (Exception e){ System.out.println("Error Location : "+"TransportImpl"+"."+"getAllTrackIds"); System.out.println("Error Case : "+"获取所有的快递单ID"+"失败"); e.printStackTrace(); } return trackIds;}/** * trnasport插入数据 * @param transportViewModel * @return */@Overridepublic int insertTransport(TransportViewModel transportViewModel) { int returnValue = 0; try { returnValue = transportMapper.insertTransport(transportViewModel); }catch (Exception e){ System.out.println("Error Location : "+"TransportImpl"+"."+"insertTransport"); System.out.println("Error Case : "+"trnasport插入数据"+"失败"); e.printStackTrace(); } return returnValue;}/** * trnasport更新数据 * @param transportViewModel * @return */@Overridepublic int updateTransport(TransportViewModel transportViewModel) { int returnValue = 0; try { returnValue = transportMapper.updateTransport(transportViewModel); }catch (Exception e){ System.out.println("Error Location : "+"TransportImpl"+"."+"updateTransport"); System.out.println("Error Case : "+"trnasport更新数据"+"失败"); e.printStackTrace(); } return returnValue;}/** * trnasport删除数据 * @param transport_id * @return */@Overridepublic int deleteTransport(int transport_id) { int returnValue = 0; try { returnValue = transportMapper.deleteTransport(transport_id); }catch (Exception e){ System.out.println("Error Location : "+"TransportImpl"+"."+"deleteTransport"); System.out.println("Error Case : "+"trnasport删除数据"+"失败"); e.printStackTrace(); } return returnValue;}/** * trnasport查询数据 * @param map * @return */@Overridepublic List<?> searchTransport(Map<String, Object> map) { //定义可以分得页数 int pageNum = 0; //获取每页存储的数量 int num = getRows(); //获取总记录数 int count = getTotal(); try { //及计算每页显示的数目 pageNum = (int)Math.ceil((double)count/(double)num); }catch (Exception e) { e.printStackTrace(); } //定义查询的范围的开始编号和结束编号 int beginIndex = (page - 1) * num; int endIndex = 0; if(page < pageNum){ endIndex = page * num - 1; }else{ endIndex = total - beginIndex; } Map<String,Object> myMap = map; myMap.put("beginIndex",beginIndex); myMap.put("endIndex",endIndex); //查看分页参数 //System.out.println("分页参数 : "+myMap); //获取数据库的查询结果 List<TransportViewModel> list = (List<TransportViewModel>) transportMapper.searchTransport(myMap); //将集合中的类数据转化为json数据 List<JSONObject> list1 = new ArrayList<JSONObject>(); //定义一个json对象实例保存json数据 JSONObject jsonObject = null; try { //将类的每个属性及其对应的数据转化为json键值对 for(TransportViewModel transportViewModel : list){ jsonObject = new JSONObject(); jsonObject.put("transport_id", transportViewModel.getTransport_id()); jsonObject.put("transport_startStation", transportViewModel.getTransport_startStation()); jsonObject.put("transport_nextStation", transportViewModel.getTransport_nextStation()); jsonObject.put("transport_date", transportViewModel.getTransport_date()); jsonObject.put("track_id", transportViewModel.getTrack_id()); jsonObject.put("client_id", transportViewModel.getClient_id()); jsonObject.put("recipients_id", transportViewModel.getRecipients_id()); jsonObject.put("package_id", transportViewModel.getPackage_id()); jsonObject.put("employee_id", transportViewModel.getEmployee_id()); jsonObject.put("track_date", transportViewModel.getTrack_date()); list1.add(jsonObject); } }catch (Exception e){ System.out.println("Error Location : "+"TransportImpl"+"."+"searchLogisticPath"); System.out.println("Error Case : "+"trnasport查询数据"+"失败"); e.printStackTrace(); } return list1;}
}
Mapper:
package com.wzb.mappers;
import com.wzb.model.LogisticsPathViewModel;
import com.wzb.model.TransportViewModel;
import java.util.List;
import java.util.Map;
/**
* Created by Administrator on 2017/5/13 0013.
*/
public interface TransportMapper {
//获取快递运输信息表中的所有记录总数
public int sumTransportMsgRecords();
//根据范围获取对应的快递运输信息表中记录
public List
Mapper.xml:
- easyui 的datagrid点击第二页时显示的内容和第一页相同
- Jquery easyui的翻页无效,一直都是第一页的数据 (会显示第二页的数据 但很快有再次查询返回第一页)
- EasyUI中tree,Datagrid,pagenation的使用EasyUI中Datagrid和pagenation进行关联时,再次点击pagenation时让表格数据显示的问题
- easyui datagrid 数据的显示和查询
- 【easyUI】datagrid使用分页时跳转到第一页
- easyUI非常迷惑性的bug:分页插件点击下一页和尾页后,发送两次请求,第二次请求回跳转到第一页
- Easyui 表格datagrid 的单元格内容显示方式扩展
- easyui,datagrid表格显示的字段内容随机
- 控制easyUI datagrid field里面显示的内容
- EasyUI的datagrid删除后一页所有数据不自动显示前页数据
- 打印easyui的datagrid内容
- asp.net显示第一页、上一页、下一页和最后一页的分页显示数据表的数据
- extjs点击搜索按钮后显示的当前页不是第一页的解决方案
- 子表显示到第二页,造成第一页留白过多的解决方法
- 合并datagrid中内容相同的单元格
- 合并datagrid中内容相同的单元格
- 合并datagrid中内容相同的单元格
- 合并datagrid中内容相同的单元格
- C++分割字符串
- 排序-交换排序-冒泡排序-数据结构(29)
- 花匠——动态规划
- [树的直径] Codeforces 804D Round #411 (Div. 1) D. Expected diameter of a tree
- 重建二叉树以及树的遍历
- easyui 的datagrid点击第二页时显示的内容和第一页相同
- 算术表达式的转换
- Linux学习篇第三章之~配置电子邮件传输(dovecot)
- 第一个网页
- GEC210 系统更新说明
- Prime Path POJ
- #HDU3415#Max Sum of Max-K-sub-sequence(单调队列基础)
- bzoj1308: fac
- The Smallest String Concatenation CodeForces