码迷,mamicode.com
首页 > 其他好文 > 详细

EasyUI 页面分页

时间:2016-11-29 23:08:31      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:添加   pos   alert   读取   自适应   lin   idf   max   print   

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 页面分页

标签:添加   pos   alert   读取   自适应   lin   idf   max   print   

原文地址:http://www.cnblogs.com/liuyanzeng/p/6115182.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!