完整的Jquery-easyUI显示分页数据例子


虽然说是入门的例子,但本人尽量做的详细点,以后会继续更新,部分功能

此外,为了后继easyui的学习,做了一个简单的框架:后台采用hibernate2.5+struts2开发:数据库用mysql。红色代码标记注意。

model层的数据

Student类

package org.easyui.model;

import java.util.Date;

public class Student {
 private int id;
 private int age;
 private String name;
 private Date birthday;
 private String className;
 private char sex;
 
 public char getSex() {
  return sex;
 }
 public void setSex(char sex) {
  this.sex = sex;
 }
 public int getAge() {
  return age;
 }
 public void setAge(int age) {
  this.age = age;
 }
 public Date getBirthday() {
  return birthday;
 }
 public void setBirthday(Date birthday) {
  this.birthday = birthday;
 }
 public int getId() {
  return id;
 }
 public void setId(int id) {
  this.id = id;
 }
 public String getName() {
  return name;
 }
 public String getClassName() {
  return className;
 }
 public void setName(String name) {
  this.name = name;
 }
 public void setClassName(String className) {
  this.className = className;
 }
 
}


DAO数据库访问层

接口EasyDao:

package org.easyui.dao;

import java.util.List;

import org.easyui.model.Student;

public interface EasyDao {
 public List<Student> getStudent(int page,int rows);
 public int getTotalPages(int rows);
}

接口实现类EasyDaoImpl:

package org.easyui.dao;

import java.util.List;

import org.easyui.model.Student;
import org.easyui.util.UtilHibernate;
import org.hibernate.HibernateException;
import org.hibernate.Session;

public class EasyDaoImpl implements EasyDao {

@SuppressWarnings("unchecked")
 public List<Student> getStudent(int page, int rows) {
  List<Student> list = null;
  Session session = UtilHibernate.getSession();
  try {
   session.beginTransaction();
   String sql = "from Student";
   list = session.createQuery(sql)
        .setFirstResult((page-1)*rows)
        .setMaxResults(rows)
        .list();
   session.getTransaction().commit();
  } catch (HibernateException e) {
   session.getTransaction().rollback();
   e.printStackTrace();
  }finally{
   UtilHibernate.closeSession(session);
  }
  
  return list;
 }

public int getTotalPages() {
  Session session = UtilHibernate.getSession();
  int total = 0;
  try {
   session.beginTransaction();
   String sql = "select count(*) from Student";
   int count = (Integer)session.createQuery(sql).uniqueResult();
   total =count;
   session.getTransaction().commit();
  } catch (HibernateException e) {
   session.getTransaction().rollback();
   e.printStackTrace();
  }finally{
   UtilHibernate.closeSession(session);
  }
  return total;
 }

}

 

Action层:

EasyuiAction1 代码如下

package org.easyui;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.interceptor.ServletRequestAware;
import org.easyui.dao.EasyDao;
import org.easyui.dao.EasyDaoImpl;
import org.easyui.model.Student;

import com.opensymphony.xwork2.ActionSupport;

public class EasyuiAction1 extends ActionSupport implements ServletRequestAware{
 private static final long serialVersionUID = 1L;
 private  HttpServletRequest request;
 private int total;
 private List<Object> rows;
 
 public int getTotal() {
  return total;
 }
 public List<Object> getRows() {
  return rows;
 }
 public void setTotal(int total) {
  this.total = total;
 }
 public void setRows(List<Object> rows) {
  this.rows = rows;
 }
 
 @Override
 public String execute() throws Exception {
  int page =Integer.parseInt(request.getParameter("page"));
  int row = Integer.parseInt(request.getParameter("rows"));//接受参数page和rows
  EasyDao dao = new EasyDaoImpl();   //实例化dao
  this.total = dao.getTotalPages();

this.rows = new ArrayList<Object>();
  List<Student> list = dao.getStudent(page, row);//分页,将数据保存到list中
  
  for(int i=0;i<list.size();i++){
   Student student  = list.get(i);    //最原始循环方法到到student对象
   Map<String,Object> map = new HashMap<String,Object>();
   map.put("id", student.getId());        //以键值对的形式保存到map中
   map.put("sex", student.getSex());
   map.put("name",student.getName());
   map.put("age", student.getAge());
   map.put("birthday", student.getBirthday());
   map.put("className", student.getClassName());     
   this.rows.add(map);       //循环保存map到list对象this.rows中
  }
  System.out.println(request.getParameter("page"));
  System.out.println(request.getParameter("rows"));
  return SUCCESS;
 }
 public void setServletRequest(HttpServletRequest request) {
  this.request = request;
 }
}

struts.xml配置如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
 <package name="jsonDemo" extends="json-default">
   <action name="easyAction" class="org.easyui.EasyuiAction1">
    <result type="json"/>
   </action>
  </package>
</struts>


easyDemo1.jsp页面代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
   
    <title>easyDemo1.jsp</title>
 <link rel="stylesheet" type="text/css" href="jquery-easyui/themes/default/easyui.css">
 <link rel="stylesheet" type="text/css" href="jquery-easyui/themes/icon.css">
 <script type="text/javascript" src="jquery-easyui/jquery-1.4.2.min.js"></script>
 <script type="text/javascript" src="jquery-easyui/jquery.easyui.min.js"></script>
 
    <script type="text/javascript" src="jslib/easyDemo.js"></script>
 <script type="text/javascript">
  $(function(){
   $(‘#tt‘).datagrid({
    title:‘datagrid小例子‘,
    iconCls:‘icon-ok‘,
    width:500,
    height:320,
    pageSize:5,
    pageList:[5,10,15,20],
    nowrap:false,
    striped: true,
    collapsible:true,
    url:‘easyAction.action‘,
    loadMsg:‘数据装载中......‘,
    sortName:‘code‘,
    sortOrder:‘desc‘,
    remoteSort:false,
    frozenColumns:[[
     {field:‘ck‘,checkbox:true}
    ]],
    columns:[[
     {title:‘学号‘,field:‘id‘,width:‘50‘,rowspan:2,align:‘center‘},
     {title:‘姓名‘,field:‘name‘,width:‘60‘,rowspan:2,align:‘center‘},
     {title:‘性别‘,field:‘sex‘,width:‘50‘,rowspan:2,align:‘center‘},
     {title:‘年龄‘,field:‘age‘,width:‘50‘,rowspan:2,align:‘center‘},
     {title:‘出生日期‘,field:‘birthday‘,width:‘120‘,rowspan:2,align:‘center‘},
     {title:‘班级‘,field:‘className‘,width:‘100‘,rowspan:2,align:‘center‘}
    ]],
    pagination:true,
    rownumbers:true
    
   });
   $(‘#tt‘).datagrid(‘getPager‘).pagination({
    displayMsg:‘当前显示从{from}到{to}共{total}记录‘,
    onBeforeRefresh:function(pageNumber, pageSize){
     $(this).pagination(‘loading‘);
     alert(‘pageNumber:‘+pageNumber+‘,pageSize:‘+pageSize);
     $(this).pagination(‘loaded‘);
    },
   });
   
   //$(‘#tt‘).datagrid({url:‘easyAction.action‘});
  });
 </script>
  </head>
 
  <body>
    <a href="javascript:void(0)" onclick="verify()" class="easyui-linkbutton">测试josn数据</a>
    <h2><b>测试easyui的DataGrid</b></h2>
    <table id="tt">
    </table>
  </body>
</html>

 

easyDemo.js代码如下:

var xmlhttp;
function verify(){
    //创建XMLHttpRequest对象
    if(window.XMLHttpRequest){
        xmlhttp = new XMLHttpRequest();
        if(xmlhttp.overrideMimeType){
            xmlhttp.overrideMimeType("text/xml");
        }
    }else if(window.ActiveXObject){
      var activerxName = ["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
        for(var i=0;i<activerxName.length;i++){
            try{
                 xmlhttp = new ActiveXObject(activerxName[i]);
              break;
            }catch(e){
            }
        }
    }
    //确认XMLHttpRequest对象是否创建成功
    if(!xmlhttp){
        alert("XMLHttpRequest对象创建失败");
        return;
    }else{
    }
    xmlhttp.onreadystatechange = callback;
    xmlhttp.open("POST","easyAction.action?page=1&rows=5","true");
    xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    xmlhttp.send();
}
function callback(){
    if(xmlhttp.readyState == 4){
        if(xmlhttp.status == 200){
          var oBook = eval_r(‘(‘ + xmlhttp.responseText + ‘)‘);
         $.messager.alert(‘test jsonData‘,xmlhttp.responseText);

时间: 2024-08-25 02:46:07

完整的Jquery-easyUI显示分页数据例子的相关文章

jquery easyui datagrid 分页数据请求

jquery easyui datagrid内置了分页的功能,当设置为 pagination: true 以后就能够启用分页功能. 启用分页以后,jquery easyui datagrid发送的数据请求中会包含两个参数: int iPageIndex = Convert.ToInt32(this.Request["page"]); int iPageSize = Convert.ToInt32(this.Request["rows"]); 这两个参数分别是当前页码

第二百二十四节,jQuery EasyUI,ComboGrid(数据表格下拉框)组件

jQuery EasyUI,ComboGrid(数据表格下拉框)组件 学习要点: 1.加载方式 2.属性列表 3.方法列表 本节课重点了解 EasyUI 中 ComboGrid(数据表格下拉框)组件的使用方法,这个组件 依赖于 Combo(自定义下拉框)和 DataGrid(数据表格)组件. 一.加载方式 class 加载方式 <select id="box" class="easyui-combogrid" name="dept" sty

Jquery EasyUI datagrid后台数据表格生成及分页详解

由于项目原因,网站后台需要对用户信息进行各种操作,有时还需要进行批量操作,所以首先需要将用户信息展示出来,查了不少资料.发现Jquery EasyUI确实是一个不错的选择,功能强大,文档也比较全面,而且容易上手.今天就把自己在项目中用到的功能做了一个总结.生成数据表格如下所示: 接下来上代码 界面html及js代码 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"/>

springmvc + jquery easyui实现分页显示

如有不明白的地方,戏迎加入QQ群交流:66728073 一,下载并导入jquery easyui的导 <link rel="stylesheet" type="text/css" href="<%=basePath%>js/jquery-easyui-1.4/themes/default/easyui.css"> <link rel="stylesheet" type="text/css

jquery easyui datagrid 分页 详解

前些天用jquery easyui的table easyui-datagrid做分页显示的时候,折腾了很久,后来终于解决了.其实不难,最主要我不是很熟悉前端的东西. table easyui-datagrid分页 有一个附加的分页控件,只需后台获取分页控件自动提交的两个参数rows(每页显示的记录数)和page(当前第几页)然后读取相应页数的记录,和总记录数total一块返回即可. 1.界面 2.前端代码 <table id="dg" title="文章管理"

jquery easyui datagrid 分页详解

由于项目原因,用了jquery easyui 感觉界面不错,皮肤样式少点,可是官网最近打不开了,资料比较少,给的demo没有想要的效果,今天在用datagrid 做分页显示的时候,折腾了半天,网上的资料也比较少,后自己动手,终于解决,废话不说,开始: datagrid分页有一个附加的分页控件,只需后台获取分页控件自动提交的两个参数rows每页显示的记录数和page;//当前第几页 然后读取相应页数的记录,和总记录数total一块返回即可 界面如下: 1.下边是datagrid的显示对话框,我直接

ThinkPHP+jQuery EasyUI Datagrid查询数据的简单处理

ThinkPHP和jQuery EasyUI这两个都是不错的框架,现在要把它两个整合到一块,做个简单的Ajax调用查询. 在ThinkPHP模板中引入EasyUI的相关文件,然后设置按钮3的调用: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> &

【颗粒归仓】(一)jQuery easyui datagrid 的数据加载

其实easyuidatagrid加载数据只有两种方式:一种是ajax加载目标url返回的json数据:另一种是加载js对象,也就是使用loadDate方法,这种方法用于加载本地js数据(非url调用).在项目中我用到的以及研究别人代码中用到的普遍是第一种,下面就分别对他们进行总结. 一.ajax加载目标url返回的json数据 首先明确,通过ajax加载目标url返回的值不一定是json格式,在http://blog.csdn.net/luckystar689/article/details/5

jquery easyui datagrid实现数据修改

1.单击选中待修改行 2.使用单独对话框修改数据 3.使用updateRow方法修改数据(注意这里只是修改了网页上显示的数据,并没有同步修改数据库中的数据,如果也要同步修改数据库中的数据可以写一个servlet实现) 版权声明:本文为博主原创文章,未经博主允许不得转载.