EasyUI 页面分页

时间:2023-03-09 18:39:26
EasyUI  页面分页

DAO

package com.hanqi.dao;

import java.util.ArrayList;
import java.util.List; import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry; import com.hanqi.entity.Region;
import com.hanqi.entity.Student; public class StudentDAO { Configuration cfg = null;
ServiceRegistry sr = null;
SessionFactory sf = null;
Session se =null;
Transaction tr = null; public StudentDAO()//注册服务
{
//1.加载配置文件
cfg = new Configuration().configure();
//2.注册服务
sr = new StandardServiceRegistryBuilder()
.applySettings(cfg.getProperties()).build();
}
//初始化
private void init()
{
sf= cfg.buildSessionFactory(sr);
se = sf.openSession();
tr = se.beginTransaction();
}
//提交和释放
private void destroy()
{
tr.commit();//提交事务
se.close();
sf.close();
} //获取分页数据集合列表
public List<Student> getPageList(int page , int rows)
{
init();
List<Student> rtn = new ArrayList<>();
rtn = se.createQuery("from Student").setMaxResults(rows)//每页行数
.setFirstResult((page-1)*rows).list();//其实页码 destroy();
return rtn;
} //获取数据条数
public int getTotal()
{
int rtn= 0;
init();
//获取Query对对象,定义集合并实例化
List<Object> lo = se.createQuery("select count(1) from Student").list(); if(lo != null && lo.size() > 0)
{
rtn = Integer.parseInt(lo.get(0).toString());//转换成int并赋值
} destroy(); return rtn;
}
}

  service

package com.hanqi.service;

import java.util.ArrayList;
import java.util.List; import com.alibaba.fastjson.JSONArray;
import com.hanqi.dao.StudentDAO;
import com.hanqi.entity.Student; public class StudentService { PageJSON<Student> lls = new PageJSON<Student>();
//查询分页数据
//返回JSON
public String getPageJSON(int page, int rows)
{ String rtn = "{total:0,rows:[]}";//空的JSON对象 int total = new StudentDAO().getTotal();
if(total>0)
{
List<Student> ls = new StudentDAO().getPageList(page, rows); String ls_json = JSONArray.toJSONString(ls);//转成JSON格式 //转义字符,转成JSON读取的格式 rtn = "{\"total\":"+total+",\"rows\":"+ls_json+"}" ; } return rtn;
} }

  Servlet

package com.hanqi.web;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.hanqi.service.StudentService; /**
* Servlet implementation class StudentServlet
*/
public class StudentServlet extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public StudentServlet() {
super();
// TODO Auto-generated constructor stub
} protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//转码
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html"); //接受参数
String spage = request.getParameter("page");//页码
String srows = request.getParameter("rows");//每页行数 if(spage!= null && srows != null)
{
//转型
int page = Integer.parseInt(spage);
int rows = Integer.parseInt(srows); String json = new StudentService().getPageJSON(page, rows);
response.getWriter().println(json);
}
else
{
response.getWriter().println("{total:0,rows:[]}");
}
} /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
} }

  页面

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<!-- 顺序不可以乱 -->
<!-- 1.jQuery的js包 -->
<script type="text/javascript" src="jquery-easyui-1.4.4/jquery.min.js"></script>
<!-- 2.css资源 -->
<link rel="stylesheet" type="text/css" href="jquery-easyui-1.4.4/themes/default/easyui.css">
<!-- 3. 图标资源 -->
<link rel="stylesheet" type="text/css" href="jquery-easyui-1.4.4/themes/icon.css">
<!-- 4.easyui的js包 -->
<script type="text/javascript" src="jquery-easyui-1.4.4/jquery.easyui.min.js"></script>
<!-- 5.本地语言 -->
<script type="text/javascript" src="jquery-easyui-1.4.4/locale/easyui-lang-zh_CN.js"></script>
</head>
<body>
<script type="text/javascript">
$(function(){ $("#hh").datagrid({ url:'StudentServlet',
//冻结列
frozenColumns:[[
{field:'id',checkbox:true},//复选框
{field:'sno',title:'学号',width:100} ]],
//定义列
columns:[[ {field:'sname',title:'姓名',width:200,align:'center'},
{field:'ssex',title:'性别',width:200,align:'center',
formatter: function(value,row,index){
if(value == 'f')
{
return '男';
}
else if(value == 'm')
{
return '女';
}
else if(value == '男')
{
return '男';
}
else if(value == '女')
{
return '女';
}
else
{
return '哈哈';
} },
styler:function(value,row,index){
if(value=='男')
{
return 'background-color:#ccccff;color:red;'; }
else if(value == 'f')
{
return 'background-color:#ccccff;color:red;';
}
}
} , {field:'sbirthday',title:'生日',width:200,align:'right'},
{field:'sclass',title:'班级',width:200,align:'right'} ]] ,
fitColumns:false, //列自适应宽度,不能和冻结列同时设置为true
striped:true, //斑马线
idField:'sno', //主键列
rownumbers:true, //显示行号
singleSelect:false, //是否单选
pagination:true, //分页栏
pageList:[8,16,24,32] , //每页行数选择列表
pageSize:8 , //初始每页行数
remoteSort:false, //是否服务器端排序,设成false才能客户端排序
//sortName:'unitcost', //定义哪些列可以进行排序。 toolbar:[
{
iconCls:'icon-add',
text:'添加',
handler:function(){
alert('添加按钮被点击')},
},
{
iconCls:'icon-edit',
text:'修改',
handler:function(){
alert('修改按钮被点击')},
},
{
iconCls:'icon-delete',
text:'删除',
handler:function(){
alert('删除按钮被点击')},
}
],
});
}) </script>
<table id="hh"></table>
</body>
</html>

  EasyUI  页面分页

EasyUI  页面分页