easyui实现分页

来源:互联网 发布:ip域名反查询工具 编辑:程序博客网 时间:2024/05/16 10:46

一、介绍

二、实例


1、准备工作:

首先导入相应包:


这里需要导入themes和jquery.easyui.min.js,为保证层次关系和互相调用直接拷贝过来即可。

接着创建一个easyui需要的实体类,字段为rows和total。这里用泛型封装了一下:

package com.ifytek.domain;import java.util.ArrayList;public class Pager<T> {private int total;private ArrayList<T> rows;public int getTotal() {return total;}public void setTotal(int total) {this.total = total;}public ArrayList<T> getRows() {return rows;}public void setRows(ArrayList<T> rows) {this.rows = rows;}}



2、前台:

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title><link rel="stylesheet" type="text/css" href="assets/themes/default/easyui.css"><link rel="stylesheet" type="text/css" href="assets/themes/icon.css"><script type="text/javascript" src="assets/jquery.min.js"></script><script type="text/javascript" src="assets/jquery.easyui.min.js"></script></head><body><h2>Custom DataGrid Pager</h2><p>You can append some buttons to the standard datagrid pager bar.</p><div style="margin:20px 0;"></div><table id="dg" title="Custom DataGrid Pager" style="width:700px;height:500px"data-options="rownumbers:true,singleSelect:true,pagination:true,url:'deal',method:'post'"><thead><tr><th data-options="field:'numb',width:80">故障编号</th><th data-options="field:'type',width:80">设备型号</th><th data-options="field:'idnum',width:80">设备编号</th><th data-options="field:'brandname',width:80">设备品牌</th><th data-options="field:'applytime',width:80">申报日期</th><!-- <th data-options="field:'',width:80">操作</th> --></tr></thead></table><script type="text/javascript">$(function(){var pager = $('#dg').datagrid().datagrid('getPager');// get the pager of datagridpager.pagination({buttons:[{iconCls:'icon-search',handler:function(){alert('search');}},{iconCls:'icon-add',handler:function(){alert('add');}},{iconCls:'icon-edit',handler:function(){alert('edit');}}]});})</script></body></html>



3、重点在于从后台获取数据:

package com.ifytek.controller;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.ifytek.service.EquipService;@WebServlet("/deal")public class EquipDeal extends HttpServlet{@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.getRequestDispatcher("/WEB-INF/jsp/equipdeal.jsp").forward(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding("utf-8");resp.setContentType("application/json;charset=utf-8");System.out.println("**********equipdeal post");int currPage=Integer.parseInt(req.getParameter("page"));int pageSize=Integer.parseInt(req.getParameter("rows"));EquipService service=new EquipService();String str=service.getPage(currPage,pageSize);System.out.println(str);resp.getWriter().write(str);}}

service:

package com.ifytek.service;import java.sql.ResultSet;import java.sql.SQLException;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.List;import com.alibaba.fastjson.JSON;import com.ifytek.dao.EquipDao;import com.ifytek.domain.EquipApply;import com.ifytek.domain.Equips;import com.ifytek.domain.EuipsTable;import com.ifytek.domain.Pager;import com.ifytek.domain.Message;import net.sf.json.JSONArray;public class EquipService {public String getPage(int currPage, int pageSize) {EquipDao dao=new EquipDao();ResultSet resultSet=dao.getPage(currPage,pageSize);Pager<EuipsTable> page=new Pager<>();ArrayList<EuipsTable> list=new ArrayList<>();int total=getTotal();try {while(resultSet.next()){EuipsTable table=new EuipsTable();table.setId(resultSet.getInt("id"));table.setNumb(resultSet.getString("numb"));System.out.println(resultSet.getString("numb"));table.setType(resultSet.getString("typeclass"));table.setIdnum(resultSet.getString("idnum"));table.setBrandname(resultSet.getString("brand"));table.setClassfiy(resultSet.getString("classfiy"));//table.setApplytime(resultSet.getString("applytime"));table.setStatue(resultSet.getString("statue"));//table.setTime(resultSet.getString("etime"));table.setMoney(resultSet.getDouble("money"));table.setInvoice(resultSet.getString("invoice"));list.add(table);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}page.setTotal(total);page.setRows(list);//JSONArray array=JSONArray.fromObject(page);//return array.toString();return JSON.toJSONString(page,true);}private int getTotal() {EquipDao dao=new EquipDao();int a=dao.getTotal();return a;}}

dao:

package com.ifytek.dao;import java.sql.ResultSet;import java.sql.SQLException;import java.text.SimpleDateFormat;import java.util.Date;import com.ifytek.domain.Const;import com.ifytek.domain.EquipApply;import com.ifytek.domain.Equips;import com.ifytek.domain.EuipsTable;import com.ifytek.util.DbUtil;public class EquipDao {DbUtil dbUtil;public void close() {dbUtil.close();}public int getTotal() {dbUtil=new DbUtil();String sql="select count(*) from equips";ResultSet resultSet=dbUtil.executeQuery(sql);int a=-1;try {if(resultSet.next()){a=resultSet.getInt(1);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return a;}public ResultSet getPage(int currPage, int pageSize) {dbUtil=new DbUtil();System.out.println("currPage为"+currPage+"  "+pageSize);int a = currPage* pageSize;int b = (currPage-1)*pageSize;String sql="select * from (select equips.id as id,numb,typeclass,brand,classfiy,applytime,equips.statue as statue,etime,"+"money,equips.idnum as idnum,invoice,rownum rn from  equips left join devices on  equips.idnum=devices.idnum where rownum<=?"+") where rn>?";ResultSet resultSet=dbUtil.executeQuery(sql,a,b);return resultSet;}}


三、带搜索的分页:


1、前台:

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title><link rel="stylesheet" type="text/css" href="assets/themes/default/easyui.css"><link rel="stylesheet" type="text/css" href="assets/themes/icon.css"><script type="text/javascript" src="assets/jquery.min.js"></script><script type="text/javascript" src="assets/jquery.easyui.min.js"></script></head><style>.tb{padding: 3px;}</style><script>var bigclass="";var smallclass="";var typeclass="";var brandname="";//搜索function find(){/* var dt="&brandname="+brandname+"&bigclass="+bigclass+"&smallclass="+smallclass+"&typeclass="+typeclass; */findtype=$("#findtype").val(); $('#dg').datagrid('load',{ brandname: brandname, bigclass:bigclass, findtype:findtype, smallclass:smallclass     });/* $.post("deal",dt,function(data){}) */}//页面加载完$(function(){ //品牌下拉列表加载$.post("getbrand",function(data){var jsonarr=JSON.parse(data);//alert("分类下拉列表"+jsonarr);$("#brandselect").html("");for(var i=0;i<jsonarr.length;i++){var da=new Option(jsonarr[i]);var brandselect=document.getElementById("brandselect");brandselect.options.add(da);}brandname=jsonarr[0];});        //分类下拉列表加载$.post("getClassfiy",function(data){var jsonarr=JSON.parse(data);$("#bigclassfiyselect").html("");for(var i=0;i<jsonarr.length;i++){var da=new Option(jsonarr[i]);var brandselect=document.getElementById("bigclassfiyselect");brandselect.options.add(da);}bigclass=jsonarr[0];});//类别选择事件$(".bigclassfiyselect").change(function() {bigclass=$(this).val();var d = "&realclassfiy=" + bigclass;$.post("getClassfiy1", d, function(data) {var js = JSON.parse(data);$(".smallclassfiyselect").html("");for(var i = 0; i < js.length; i++) {var select3 = document.getElementById("smallclassfiyselect");var da = new Option(js[i]);select3.options.add(da);} })}); $(".smallclassfiyselect").change(function() {smallclass=$(this).val();}); //品牌选择事件$(".brandselect").change(function() {//alert("点击"); brandname = $(this).val();//alert(brandname); });})//页面加载结束</script><body><div style="margin:20px 0;"></div><table id="dg" title="Custom DataGrid Pager" style="width:700px;height:500px" data-options="rownumbers:true,singleSelect:true,pagination:true,url:'deal',method:'post'"><tr><div id="tb"  class="tb"><select class="brandselect" id="brandselect"><option>请选择品牌</option></select><select class="bigclassfiyselect" id="bigclassfiyselect"><option>请选择分类</option></select><select class="smallclassfiyselect" id="smallclassfiyselect"><option>请选择分类</option></select><input type="text" placeholder="请输入型号" class="findtype" name="findtype" id="findtype"/><a href="#" class="easyui-linkbutton" plain="true" onclick="find()">搜索</a> <!-- <input type="button" onclick="find()" value="搜索"/> --></div></tr><thead><tr><th data-options="field:'numb',width:80">故障编号</th><th data-options="field:'type',width:80">设备型号</th><th data-options="field:'idnum',width:80">设备编号</th><th data-options="field:'brandname',width:80">设备品牌</th><th data-options="field:'classfiy',width:80">设备分类</th><th data-options="field:'applytime',width:80">申报日期</th><!-- <th data-options="field:'',width:80">操作</th> --></tr></thead></table><script type="text/javascript">$(function() {var pager = $('#dg').datagrid().datagrid('getPager'); // get the pager of datagridpager.pagination({buttons: [{iconCls: 'icon-search',handler: function() {alert('search');}}, {iconCls: 'icon-add',handler: function() {alert('add');}}, {iconCls: 'icon-edit',handler: function() {alert('edit');}}]});})</script></body></html>

2、后台:

package com.ifytek.controller;import java.io.IOException;import java.util.HashMap;import java.util.Map;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.ifytek.service.EquipService;@WebServlet("/deal")public class EquipDeal extends HttpServlet{@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.getRequestDispatcher("/WEB-INF/jsp/equipdeal.jsp").forward(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding("utf-8");resp.setContentType("application/json;charset=utf-8");System.out.println("**********equipdeal post");int currPage=Integer.parseInt(req.getParameter("page"));int pageSize=Integer.parseInt(req.getParameter("rows"));//搜索参数Map<String, String> map=new HashMap<>();String brandname=req.getParameter("brandname");String bigclass=req.getParameter("bigclass");String smallclass=req.getParameter("smallclass");String typeclass=req.getParameter("findtype");System.out.println(brandname+" "+typeclass+" "+bigclass+" "+smallclass);map.put("brandname", brandname);map.put("classfiy", bigclass+" "+smallclass);map.put("typeclass", typeclass);EquipService service=new EquipService();String str=service.getPage(currPage,pageSize,map);System.out.println(str);resp.getWriter().write(str);}}


service:

package com.ifytek.service;import java.sql.ResultSet;import java.sql.SQLException;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.List;import java.util.Map;import com.alibaba.fastjson.JSON;import com.ifytek.dao.EquipDao;import com.ifytek.domain.EquipApply;import com.ifytek.domain.Equips;import com.ifytek.domain.EuipsTable;import com.ifytek.domain.Pager;import com.ifytek.domain.Message;import net.sf.json.JSONArray;public class EquipService {public Message addEquip(EquipApply apply) {//故障申报,同时生成故障单Message message=new Message();EquipDao applyDao=new EquipDao();Date date=new Date();SimpleDateFormat format=new SimpleDateFormat("yyyyMMdd");SimpleDateFormat format1=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");String fString=format.format(date)+apply.getIdnum();String applytime=format1.format(date);Equips equips=new Equips();int id=get_Id();equips.setId(id+1);equips.setNumb(fString);equips.setApplytime(applytime);equips.setIdnum(apply.getIdnum());//equips.setInvoice(invoice);equips.setStatue("待维修");//equips.setTime(time);equips.setMoney(0.0);int a=applyDao.addEquipApply(apply);int b=applyDao.addEquipTable(equips);//生成故障单if(a>0 && b>0){message.setCode(200);message.setMsg("申报成功");message.setRes(true);}else{message.setCode(300);message.setMsg("服务器繁忙,请稍后再试");message.setRes(false);}applyDao.close();return message;}public int get_Id() {int a=1;EquipDao dao=new EquipDao();ResultSet resultSet=dao.get_Id();try {if(resultSet.next()){a=resultSet.getInt(1);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}dao.close();return a;}public List<EuipsTable> find(int currPage) {ArrayList<EuipsTable> list=new ArrayList<>();EquipDao dao=new EquipDao();ResultSet resultSet=dao.find(currPage);try {while(resultSet.next()){String brandname="";String classfiy="";String type="";EuipsTable euipsTable=new EuipsTable();String idnum=resultSet.getString("idnum");euipsTable.setId(resultSet.getInt("id"));euipsTable.setApplytime(resultSet.getString("applytime"));euipsTable.setNumb(resultSet.getString("numb"));euipsTable.setIdnum(idnum);euipsTable.setInvoice(resultSet.getString("invoice"));euipsTable.setMoney(resultSet.getDouble("money"));euipsTable.setStatue(resultSet.getString("statue"));euipsTable.setTime(resultSet.getString("etime"));ResultSet set=dao.findDevicesByIdnum(idnum);if(set.next()){brandname=set.getString("brand");classfiy=set.getString("classfiy");type=set.getString("typeclass");}euipsTable.setBrandname(brandname);euipsTable.setClassfiy(classfiy);euipsTable.setType(type);list.add(euipsTable);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}dao.close();return list;}public ArrayList<EquipApply> queryEquipApplyByIdnum(String idnum) {ArrayList<EquipApply> list=new ArrayList<>();EquipDao dao=new EquipDao();ResultSet resultSet=dao.queryEquipApplyByIdnum(idnum);try {while(resultSet.next()){EquipApply apply=new EquipApply();apply.setAddress(resultSet.getString("address"));apply.setClassfiy(resultSet.getString("classfiy"));apply.setContact(resultSet.getString("contact"));apply.setDescribe(resultSet.getString("describetion"));apply.setFile(resultSet.getString("files"));apply.setRealoption(resultSet.getString("realclassfiy"));apply.setUsername(resultSet.getString("name"));list.add(apply);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}dao.close();return list;}public ArrayList<EuipsTable> findEquips(EuipsTable equips) {ArrayList<EuipsTable> list=new ArrayList<>();EquipDao dao=new EquipDao();ResultSet resultSet=dao.findEquips(equips);try {while(resultSet.next()){EuipsTable table=new EuipsTable();table.setId(resultSet.getInt("id"));table.setNumb(resultSet.getString("numb"));table.setType(resultSet.getString("typeclass"));table.setIdnum(resultSet.getString("idnum"));table.setBrandname(resultSet.getString("brand"));table.setClassfiy(resultSet.getString("classfiy"));//table.setApplytime(resultSet.getString("applytime"));table.setStatue(resultSet.getString("statue"));//table.setTime(resultSet.getString("etime"));table.setMoney(resultSet.getDouble("money"));table.setInvoice(resultSet.getString("invoice"));list.add(table);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}dao.close();return list;}public int getId() {//得到当前id  没有用序列EquipDao dao=new EquipDao();int a=dao.getId();return a;}public String getPage(int currPage, int pageSize,Map<String, String> map) {EquipDao dao=new EquipDao();ResultSet resultSet=dao.getPage(currPage,pageSize,map);Pager<EuipsTable> page=new Pager<>();ArrayList<EuipsTable> list=new ArrayList<>();int total=getTotal();try {while(resultSet.next()){EuipsTable table=new EuipsTable();table.setId(resultSet.getInt("id"));table.setNumb(resultSet.getString("numb"));System.out.println(resultSet.getString("numb"));table.setType(resultSet.getString("typeclass"));table.setIdnum(resultSet.getString("idnum"));table.setBrandname(resultSet.getString("brand"));table.setClassfiy(resultSet.getString("classfiy"));//table.setApplytime(resultSet.getString("applytime"));table.setStatue(resultSet.getString("statue"));//table.setTime(resultSet.getString("etime"));table.setMoney(resultSet.getDouble("money"));table.setInvoice(resultSet.getString("invoice"));list.add(table);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}page.setTotal(total);page.setRows(list);//JSONArray array=JSONArray.fromObject(page);//return array.toString();return JSON.toJSONString(page,true);}private int getTotal() {EquipDao dao=new EquipDao();int a=dao.getTotal();return a;}}

dao:

package com.ifytek.dao;import java.sql.ResultSet;import java.sql.SQLException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Map;import com.ifytek.domain.Const;import com.ifytek.domain.EquipApply;import com.ifytek.domain.Equips;import com.ifytek.domain.EuipsTable;import com.ifytek.util.DbUtil;public class EquipDao {DbUtil dbUtil;public int addEquipApply(EquipApply apply) {//生成故障申报表dbUtil=new DbUtil();String sql="insert into equipapply(id,idnum,address,classfiy,contact,name,describetion,files,realclassfiy) values(?,?,?,?,?,?,?,?,?)";int a=dbUtil.executeUpdate(sql, apply.getId(),apply.getIdnum(),apply.getAddress(),apply.getClassfiy(),apply.getContact(),apply.getUsername(),apply.getDescribe(),apply.getFile(),apply.getRealoption());//dbUtil.close();return a;}public int addEquipTable(Equips equips) {//生成故障单dbUtil=new DbUtil();String sql="insert into equips(id,numb,idnum,statue,money,invoice) values(?,?,?,?,?,?)";int a=dbUtil.executeUpdate(sql,equips.getId(),equips.getNumb(),equips.getIdnum(),equips.getStatue(),equips.getMoney(),equips.getInvoice());//dbUtil.close();return a;}public void close() {dbUtil.close();}public ResultSet get_Id() {dbUtil=new DbUtil();String sql="select max(id) from equips";ResultSet resultSet=dbUtil.executeQuery(sql);return resultSet;}public ResultSet find(int currPage) {dbUtil=new DbUtil();String sql="select * from (select id, numb, idnum, applytime, statue, etime, money, invoice,rownum rn from equips where rownum<=?) where rn>?";int a = currPage* Const.PAGE_SIZE;int b = (currPage-1)*Const.PAGE_SIZE;ResultSet resultSet=dbUtil.executeQuery(sql, a,b);return resultSet;}public ResultSet findDevicesByIdnum(String idnum) {dbUtil=new DbUtil();String sql="select brand,classfiy,typeclass from devices where idnum=?";ResultSet resultSet=dbUtil.executeQuery(sql, idnum);return resultSet;}public ResultSet queryEquipApplyByIdnum(String idnum) {dbUtil=new DbUtil();System.out.println("idnum参数值为"+idnum);String sql="select * from equipapply where idnum=?";ResultSet resultSet=dbUtil.executeQuery(sql, idnum);return resultSet;}public ResultSet findEquips(EuipsTable equips) {dbUtil=new DbUtil();String sql="select equips.id as id,numb,typeclass,brand,"+"classfiy,applytime,equips.statue as statue,etime,money,equips.idnum as idnum,"+"invoice from  equips left join devices on  "+"equips.idnum=devices.idnum  where equips.statue=?"+ "and brand=?  and typeclass=? and classfiy=?";//and classfiy=?ResultSet resultSet=dbUtil.executeQuery(sql, equips.getStatue(),equips.getBrandname(),equips.getType(),equips.getClassfiy());//equips.getClassfiy(),return resultSet;}public int getId() {//得到equipapply表的iddbUtil =new DbUtil();int a=1;String sql="select max(id) from equipapply";ResultSet resultSet=dbUtil.executeQuery(sql);try {while(resultSet.next()){a=resultSet.getInt(1);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return a;}public int getTotal() {dbUtil=new DbUtil();String sql="select count(*) from equips";ResultSet resultSet=dbUtil.executeQuery(sql);int a=-1;try {if(resultSet.next()){a=resultSet.getInt(1);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return a;}public ResultSet getPage(int currPage, int pageSize,Map<String, String> map) {dbUtil=new DbUtil();String brandname=map.get("brandname");String classfiy=map.get("classfiy");String typeclass=map.get("typeclass");System.out.println(brandname==null);System.out.println(classfiy==null);ResultSet resultSet = null;int a = currPage* pageSize;int b = (currPage-1)*pageSize;if(brandname==null  && typeclass==null){System.out.println("无条件查询");String sql="select * from (select equips.id as id,numb,typeclass,brand,classfiy,applytime,equips.statue as statue,etime,"+"money,equips.idnum as idnum,invoice,rownum rn from  equips left join devices on  equips.idnum=devices.idnum where rownum<=?"+") where rn>?";resultSet=dbUtil.executeQuery(sql,a,b);}else{System.out.println("有条件查询");String sql="select * from (select equips.id as id,numb,typeclass,brand,classfiy,applytime,equips.statue as statue,etime,"+           "money,equips.idnum as idnum,invoice,rownum rn from  equips left join devices on  equips.idnum=devices.idnum where "+           "rownum<=?  and brand=? and typeclass=? and classfiy=? )where rn>?";resultSet=dbUtil.executeQuery(sql,a,brandname,typeclass,classfiy,b);}return resultSet;}}


四、经典布局


1、前台:

<!DOCTYPE html>  <html>  <head>      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">      <meta name="keywords" content="jquery,ui,easy,easyui,web">      <meta name="description" content="easyui help you build your web page easily!">      <title>jQuery EasyUI CRUD Demo</title>      <link rel="stylesheet" type="text/css" href="assets/themes/default/easyui.css">      <link rel="stylesheet" type="text/css" href="assets/themes/icon.css">      <style type="text/css">          #fm{              margin:0;              padding:10px 30px;          }          .ftitle{              font-size:14px;              font-weight:bold;              color:#666;              padding:5px 0;              margin-bottom:10px;              border-bottom:1px solid #ccc;          }          .fitem{              margin-bottom:5px;          }          .fitem label{              display:inline-block;              width:80px;          }      </style>      <script type="text/javascript" src="assets/jquery.min.js"></script>      <script type="text/javascript" src="assets/jquery.easyui.min.js"></script>      <script type="text/javascript">          var url;                    function searchUser(){              var name=$("#name").val();              $('#dg').datagrid('load', {                  name:name              });          }                    function newUser(){              $('#dlg').dialog('open').dialog('setTitle','New User');              $('#fm').form('clear');              url="add";              /* $("#fm").submit(function(){                  var dt=$("#fm").serialize();                  $.post("add",dt,function(data){                      alert(data);                  });                  return false;              }) */                                      }          function editUser(){              var row = $('#dg').datagrid('getSelected');              if (row){                  $('#dlg').dialog('open').dialog('setTitle','Edit User');                  $('#fm').form('load',row);                  $(".addname").val(row.name);                  $(".addage").val(row.age);                  $(".addbirthday").val(row.birthday);                  $(".addsex").val(row.sex);                  alert(row.name);                  url = 'update?id='+row.id;              }          }          function saveUser(){              $('#fm').form('submit',{                  url: url,                  onSubmit: function(){                      return $(this).form('validate');                  },                  success: function(result){                      alert(result);                    // var result = eval('('+result+')');                      if (result.endsWith("成功")){                          $('#dlg').dialog('close');      // close the dialog                          $('#dg').datagrid('reload');    // reload the user data                      } else {                          $.messager.show({                              title: 'Error',                              msg: result.msg                          });                      }                  }              });          }          function removeUser(){              var row = $('#dg').datagrid('getSelected');              if (row){                  $.messager.confirm('Confirm','Are you sure you want to remove this user?',function(r){                      if (r){                      var id=row.id;                    var dt="&id="+id;                        $.post('delete',dt,function(data){                          alert(data);                             if (data=="删除成功"){                                                                  $('#dg').datagrid('reload');    // reload the user data                              } else {                                  $.messager.show({   // show error message                                      title: 'Error',                                      msg: result.msg                                  });                              }                          });                      }                  });              }          }      </script>  </head>  <body>      <h2>Basic CRUD Application</h2>      <div class="demo-info" style="margin-bottom:10px">          <div class="demo-tip icon-tip"> </div>          <div>Click the buttons on datagrid toolbar to do crud actions.</div>      </div>            <table id="dg" title="My Users" class="easyui-datagrid" style="width:700px;height:250px"              url="getstu"              toolbar="#toolbar" pagination="true"              rownumbers="true" fitColumns="true" singleSelect="true">          <thead>              <tr>                  <th field="name" width="50">姓名</th>                  <th field="age" width="50">Last Name</th>                  <th field="sex" width="50">Phone</th>                  <th field="birthday" width="50">Email</th>              </tr>          </thead>      </table>      <div id="toolbar">          <a href="#" class="easyui-linkbutton" iconCls="icon-add" plain="true" onclick="newUser()">新增用户</a>          <a href="#" class="easyui-linkbutton" iconCls="icon-edit" plain="true" onclick="editUser()">编辑用户</a>          <a href="#" class="easyui-linkbutton" iconCls="icon-remove" plain="true" onclick="removeUser()">Remove User</a>          <input type="text" name="name" id="name" class="name">          <a href="#" class="easyui-linkbutton" iconCls="icon-search" plain="true" onclick="searchUser()">查询</a>      </div>            <div id="dlg" class="easyui-dialog" style="width:400px;height:280px;padding:10px 20px"              closed="true" buttons="#dlg-buttons">          <div class="ftitle">User Information</div>          <form id="fm" method="post" novalidate>              <div class="fitem">                  <label>姓名</label>                  <input name="addname" class="easyui-validatebox addname" required="true">              </div>              <div class="fitem">                  <label>年龄</label>                  <input name="addage" class="easyui-validatebox addage" required="true">              </div>              <div class="fitem">                  <label>性别</label>                  <input type="radio" name="addsex" value="男" checked="checked" class="addsex"/>男          <input type="radio" name="addsex" value="女" class="addsex"/>女              </div>              <div class="fitem">                  <label>生日</label>                  <input name="addbirthday" class="easyui-validatebox addbirthday" validType="date" >              </div>          </form>      </div>      <div id="dlg-buttons">          <a href="#" class="easyui-linkbutton" iconCls="icon-ok" onclick="saveUser()">Save</a>          <a href="#" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$('#dlg').dialog('close')">Cancel</a>      </div>  </body>  </html>  


2、后台:

(1、)查:

package com.zt.controller;import java.io.IOException;import java.util.HashMap;import java.util.Map;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.zt.service.StudentService;@WebServlet("/getstu")public class StudentServlet extends HttpServlet{@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding("utf-8");resp.setContentType("text/html;charset=utf-8");int currPage=Integer.parseInt(req.getParameter("page"));int pageSize=Integer.parseInt(req.getParameter("rows"));//搜索参数Map<String, String> map=new HashMap<String,String>();String name=req.getParameter("name");System.out.println("name为"+name);map.put("name", name);StudentService service=new StudentService();String str=service.getPage(currPage,pageSize,map);System.out.println(str);resp.getWriter().write(str);}}

(2、)增:

package com.zt.controller;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.zt.domain.Message;import com.zt.domain.Student;import com.zt.service.StudentService;@WebServlet("/add")public class AddStudent extends HttpServlet{@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding("utf-8");resp.setContentType("text/html;charset=utf-8");System.out.println("add");Student student=new Student();StudentService service=new StudentService();int id=service.getId();String name=req.getParameter("addname");student.setAge(Integer.parseInt(req.getParameter("addage")));student.setName(name);student.setBirthday(req.getParameter("addbirthday"));student.setId(id+1);student.setSex(req.getParameter("addsex"));Message message=service.add(student);resp.getWriter().write(message.getMsg());}}

(3、)改:

package com.zt.controller;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.zt.domain.Message;import com.zt.domain.Student;import com.zt.service.StudentService;@WebServlet("/update")public class UpdateStudent extends HttpServlet{@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding("utf-8");resp.setContentType("text/html;charset=utf-8");System.out.println("update post");StudentService service=new StudentService();int id=Integer.parseInt(req.getParameter("id"));String bename=service.getNameById(id);Student student=new Student();String name=req.getParameter("addname");student.setAge(Integer.parseInt(req.getParameter("addage")));student.setName(name);student.setBirthday(req.getParameter("addbirthday"));student.setSex(req.getParameter("addsex"));System.out.println(bename);Message message=service.update(bename,student);resp.getWriter().write(message.getMsg());}}

(4、)删:

package com.zt.controller;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.zt.dao.StudentDao;import com.zt.domain.Message;import com.zt.service.StudentService;@WebServlet("/delete")public class DeleteStudent extends HttpServlet{@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding("utf-8");resp.setContentType("text/html;charset=utf-8");int id=Integer.parseInt(req.getParameter("id"));StudentService service=new StudentService();Message message=service.delete(id);resp.getWriter().write(message.getMsg());}}

3、service:

package com.zt.service;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.Map;import com.alibaba.fastjson.JSON;import com.zt.dao.StudentDao;import com.zt.domain.Message;import com.zt.domain.Pager;import com.zt.domain.Student;public class StudentService {public String getPage(int currPage, int pageSize, Map<String, String> map) {StudentDao dao=new StudentDao();ResultSet resultSet=dao.getPage(currPage,pageSize,map);Pager<Student> page=new Pager<>();    int total=getTotal(map);    page.setTotal(total);ArrayList<Student> list=new ArrayList<>();try {while(resultSet.next()){Student student=new Student();student.setAge(resultSet.getInt("age"));student.setBirthday(resultSet.getString("birthday"));student.setId(resultSet.getInt("id"));student.setName(resultSet.getString("name"));student.setSex(resultSet.getString("sex"));list.add(student);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}page.setRows(list);return JSON.toJSONString(page,true);}private int getTotal(Map<String, String> map) {StudentDao dao=new StudentDao();int a=dao.getTotal(map);return a;}public int getId() {StudentDao dao=new StudentDao();int id=dao.getId();return id;}public Message add(Student student) {StudentDao dao=new StudentDao();int a=dao.add(student);Message message=new Message();if(a>0){message.setCode(200);message.setMsg("添加成功");message.setRes(true);}else{message.setCode(300);message.setMsg("添加失败");message.setRes(false);}return message;}public Message update(String bename, Student student) {Message message=new Message();String upname=student.getName();StudentDao dao=new StudentDao();int a=0;if(!bename.equals(upname)){//改了姓名//查询用户名是否重复ResultSet resultSet=checkByName(upname);try {if(resultSet.next()){message.setCode(300);message.setMsg("用户名已存在");message.setRes(false);return message;}else{a=dao.update(bename,student);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}else{//没有修改姓名 a=dao.update(bename,student);}if(a>0){message.setCode(200);message.setMsg("修改成功");message.setRes(true);}else{message.setCode(300);message.setMsg("修改失败");message.setRes(false);}return message;}private ResultSet checkByName(String upname) {StudentDao dao=new StudentDao();ResultSet resultSet=dao.checkByName(upname);return resultSet;}public String getNameById(int id) {StudentDao dao=new StudentDao();String name=dao.getNameById(id);return name;}public Message delete(int id) {StudentDao dao=new StudentDao();int a=dao.deletestu(id);Message message=new Message();if(a>0){message.setCode(200);message.setMsg("删除成功");message.setRes(true);}else{message.setCode(300);message.setMsg("删除失败");message.setRes(false);}return message;}}

4、dao:

package com.zt.dao;import java.sql.ResultSet;import java.sql.SQLException;import java.util.Map;import com.zt.domain.Student;import com.zt.util.DbUtil;public class StudentDao {DbUtil dbUtil;public ResultSet getPage(int currPage, int pageSize, Map<String, String> map) {dbUtil=new DbUtil();String name=map.get("name");ResultSet resultSet;int a = currPage* pageSize;int b = (currPage-1)*pageSize;if(name==null){//无条件查询String sql="select * from (select student.*,rownum rn from student where rownum<=?) where rn>?";resultSet=dbUtil.executeQuery(sql,a,b);}else{String sql="select * from (select student.*,rownum rn from student where rownum<=? and name=?) where rn>?";resultSet=dbUtil.executeQuery(sql,a,name,b);}return resultSet;}public int getTotal(Map<String, String> map) {dbUtil=new DbUtil();String name=map.get("name");ResultSet resultSet = null;if(name==null){//无条件查询String sql="select count(*) from student";resultSet=dbUtil.executeQuery(sql);}else{String sql="select count (*) from (select * from student where name=?)";resultSet=dbUtil.executeQuery(sql,name);}try {if(resultSet.next()){return resultSet.getInt(1);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return 0;}public int getId() {dbUtil=new DbUtil();String sql="select max(id) from student";ResultSet resultSet=dbUtil.executeQuery(sql);int a=1;try {if(resultSet.next()){a=resultSet.getInt(1);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return a;}public int add(Student student) {dbUtil=new DbUtil();String sql="insert into student(id, name, age, sex, birthday)  values(?,?,?,?,?)";int a=dbUtil.executeUpdate(sql, student.getId(),student.getName(),student.getAge(),student.getSex(),student.getBirthday());return a;}public int update(String bename, Student student) {System.out.println("修改前"+bename);System.out.println("修改后"+student.getName());dbUtil=new DbUtil();String sql="update student set name=?,sex=?,birthday=?,age=? where name=?";int a=dbUtil.executeUpdate(sql, student.getName(),student.getSex(),student.getBirthday(),student.getAge(),bename);return a;}public ResultSet checkByName(String upname) {dbUtil=new DbUtil();String sql="select * from student where name=?";ResultSet resultSet=dbUtil.executeQuery(sql, upname);return resultSet;}public String getNameById(int id) {dbUtil=new DbUtil();String sql="select name from student where id=?";ResultSet resultSet=dbUtil.executeQuery(sql, id);try {if(resultSet.next()){return resultSet.getString(1);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return null;}public int deletestu(int id) {dbUtil=new DbUtil();String sql="delete from student where id=?";int a=dbUtil.executeUpdate(sql, id);return a;}}