要求:在easyui-datagrid中完成paginaton的分页功能。

1.easyui-datagrig的配置

<table id="dg" rownumbers=true fitColumns="true" singleSelect="true"
data-options="pagination:true,fit:true,toolbar:'#tt'">
<thead>
<tr>
<th field="bNo" align="center" width="120px">柜员号</th>
<th field="bType" align="center" width="150px">柜员类型</th>
<th field="jGNo" align="center" width="120px">机构号</th>
<th field="pZCount" align="center" width="120px">凭证数</th>
<th field="zJcount" align="center" width="120px">主件数</th>
<th field="fJcount" align="center" width="120px">附件数</th>
<th field="sBPass" align="center" width="150px">识别凭证</th>
<th field="sBSuccess" align="center" width="150px">识别成功</th>
<th field="sBRoute" align="center" width="120px">识别率</th>
<th field="yWDate" align="center" width="170px">业务日期</th>
</tr>
</thead>
</table>

  pagination="true"数据表格会自动将分页栏置于表下方;toolbar="#tt"表示为数据表格上方加入工具栏,具体样式是id="#tt"的模块决定的。在看下js文件对datagrid的其他配置:

$('#dg').datagrid({
url:'user/queryList.action',
pageList: [5,10,20,50,100],
     pageSize:5
});

  url为页面刷新datagrid自动的请求,每次请求会向后台传入两个参数:1)page,当前第几页2)rows,每页显示几条数据。因此在后台需要就收这两条重要信息。

2.struts2的Action配置

public String queryList(){
List<User> list =
userService.queryList(page,rows) ;
pag1 = new Pagination<User>();
pag1.setTotal(userService.getCount());
pag1.setRows(list);
return SUCCESS ;
}
<package name="work" namespace="/user" extends="json-default,struts-default">

		<action name="queryList" class="userAction" method="queryList">
<result type="json">
<param name="root">pag1</param>
</result>
</action>
</package>

 pag1为DTO数据传输对象,有total和rows两属性(datagrid要求的json格式。total是信息总条数,rows是信息实体,键值对)

3.hibernate层service分页方法

public List<User> queryList(int page, int pageSize) {
// TODO Auto-generated method stub
String hql = "from User";
Query query = userDao.getSession().createQuery(hql);
int beginNum = (page-1)*pageSize;
query.setMaxResults(pageSize);
query.setFirstResult(beginNum);
return query.list();
}
	public int getCount() {
// TODO Auto-generated method stub
String hql = "select count(1) from User";
Query query = userDao.getSession().createQuery(hql);
Long cc = (Long) query.uniqueResult();
int count = cc.intValue() ;
return count;
}

  query.setFirstResult(xxx)里面是起始第几条,query.setMaxResults()里面是从起始条开始搜索的条数,即每页的数量。

4.Action的queryList()将从数据库获取的List集合置于DTO对象pag1的rows属性中,List的大小赋值给pag1的total属性,struts2将pag1以json的数据格式返回页面,datagrid自动实现分页,并且每次页数或每页大小被修改时会访问之前的url,并传给后台page和rows两个参数。

(注意:datagrid数据表格发送和接受的中rows表示不同,前者是每页显示数量大小,后者是json数据的数据体)

基于SSH框架、Oracle数据库、easyui的分页显示的更多相关文章

  1. 基于ssh框架的在线考试系统开发的质量属性

    我做的系统是基于ssh框架的在线考试系统.在线考试系统有以下几点特性:(1)系统响应时间需要非常快,可以迅速的出题,答题.(2)系统的负载量也需要非常大,可以支持多人在线考试(3)还有系统的安全性也需 ...

  2. 基于SSH框架的在线考勤系统开发的质量属性

    我要开发的是一个基于SSH框架的在线考勤系统. 质量属性是指影响质量的相关因素,下面我将分别从6个系统质量属性(可用性,易用性,可修改性,性能,安全性,可测试性)来分析我的系统,以及如何实现这些质量属 ...

  3. 如何实现基于ssh框架的投票系统的的质量属性

    如何实现基于ssh框架的投票系统的的质量属性: 项目 :网上考试系统 我做的是网上考试系统,因为标准化的考试越来越重要,而通过计算机进行标准化判卷,系统会自动判卷出成绩,组织考试的人不用组织人员打印试 ...

  4. 基于SSH框架的学生选课质量属性分析

    系统:学生选课系统 框架:SSH(Struts2+Spring+Hibernate) 我做的是基于SSH框架的学生选课系统.学生选课系统的特性:①系统响应时间短,能够快速调出课程数据供学生选课提交.② ...

  5. 基于SSH框架的网上书店系统开发的质量属性

    基于SSH框架的网上书店系统开发的质量属性 对于我的基于SSH框架的网上书店系统的开发要实现的质量属性有可用性.可修改性.性能.安全性.易用性和可测试性. 1.对于可用性方面的战术: 可用性(Avai ...

  6. 文献综述十八:基于SSH框架的进销存管理系统设计与实现

    一.基本信息 标题:基于SSH框架的进销存管理系统设计与实现 时间:2017 出版源:内蒙古科技与经济 文件分类:对框架的研究 二.研究背景 进销存管理系统在各企业中广泛应用,使用SSH框架,很大程度 ...

  7. 基于ssh框架web示例

    基于ssh框架web示例 介绍 Spring Boot Web 开发非常简单,该示例包括包括目前web开发基本都需要用到的内容 - 序列化(json)输出 - 过滤器(filters) - 监视器(l ...

  8. 基于SSH框架的人力资源管理系统设计与实现

    - - ->关注博主公众号[C you again],获取更多IT资源(IT技术文章,毕业设计.课程设计系统源码,经典游戏源码,HTML网页模板,PPT.简历模板,!!还可以投稿赚钱!!,点击查 ...

  9. 基于SSH框架的学生公寓管理系统的质量属性

    系统名称:学生公寓管理系统 首先介绍一下学生公寓管理系统,在学生公寓管理方面,针对学生有关住宿信息问题进行管理,学生公寓管理系统主要包含了1)学生信息记录:包括学号.姓名.性别.院系.班级:2)住宿信 ...

  10. 基于OCILIB的oracle数据库操作总结及自动生成Model和Dao的工具

    基于OCILIB的oracle数据库操作总结 1.       类图 2.       基类BaseOCIDao的设计与实现 BaseOCIDao.h头文件 #pragma once /* ----- ...

随机推荐

  1. MySQL Study之--MySQL下图形工具的使用(MySQL Administrator)

    MySQL Study之--MySQL下图形工具的使用(MySQL Administrator) 系统环境:     操作系统: Windows  7(64) 下载地址:http://www.soft ...

  2. NGUI下拉菜单学习UIPopupList

    NGUI下拉栏主要注意2点 1.弹出文字收回去,需要更新主显文字信息,要绑定调用 2.有时候发现弹出来的面板差别很大 看了下代码 会根据父节点取相对位置. 这样位置就可以了,很奇怪的做法..

  3. gitlab yum 源

    https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/

  4. MYSQL IO innodb-buffer-pool

    http://mysql.taobao.org/monthly/2016/02/02/ MySQL · 性能优化· 5.7.6 InnoDB page flush 优化 MySQL · 性能优化· I ...

  5. 深入理解Eureka - Eureka Client获取注册信息机制

    深入理解Eureka - Eureka Client获取注册信息机 Eureka Client提供了定时获取注册信息的机制.Eureka Client获取注册信息的所有逻辑都在DiscoveryCli ...

  6. PeekMessage、GetMessage的区别

    在Windows编程中经常使用这两个函数来处理消息,它们之间的区别就是GetMessage是阻塞的,PeekMessage是非阻塞的. GetMessage原型如下:BOOL GetMessage(L ...

  7. mysql linux 区分大小写

    查看大小写区分 mysql> show variables like "%case%"; +------------------------+-------+ | Varia ...

  8. Makefile初探

    选择一个目录创建一个Makefile文件: 注意第二行的开头需要时TAB建空开,不要用空格 执行make make的时候,无论你创建的是makefile还是Makefile都可以识别 ,不在乎开头的字 ...

  9. js中的extend

    js中的extend   1.    JS中substring与substr的区别 之前在项目中用到substring方法,因为C#中也有字符串的截取方法Substring方法,当时也没有多想就误以为 ...

  10. vim添加复制(crtl+c),粘贴(ctrl+v)ctrl+A 等快捷键

    1  在  /usr/share/vim/vimrc文件中添加   source $VIMRUNTIME/mswin.vim 2  mswin.vim位置在 /usr/share/vim/vim72/ ...