pager jar网址:http://java2s.com/Code/Jar/t/Downloadtaglibspagejar.htm

  1. package com.binary.entity;
  2.  
  3. import java.util.List;
  4.  
  5. public class PageModel<T> {
  6.  
  7. private long total;//页数
  8. private List<T> dates;//当前页的数据
  9. public long getTotal() {
  10. return total;
  11. }
  12. public void setTotal(long total) {
  13. this.total = total;
  14. }
  15. public List<T> getDates() {
  16. return dates;
  17. }
  18. public void setDates(List<T> dates) {
  19. this.dates = dates;
  20. }
  21.  
  22. }
  1. package com.binary.entity;
  2.  
  3. public class Pager {
  4.  
  5. private int offset;//offset表示从那一页开始记录
  6.  
  7. public int getOffset() {
  8. return offset;
  9. }
  10.  
  11. public void setOffset(int offset) {
  12. this.offset = offset;
  13. }
  14.  
  15. }
  1. package com.binary.entity;
  2.  
  3. import java.util.HashSet;
  4. import java.util.Set;
  5.  
  6. /**
  7. * User entity. @author MyEclipse Persistence Tools
  8. */
  9.  
  10. public class User implements java.io.Serializable {
  11.  
  12. // Fields
  13.  
  14. private Integer id;
  15. private String uname;
  16. private String upass;
  17. private String meun;
  18.  
  19. // Constructors
  20.  
  21. /** default constructor */
  22. public User() {
  23. }
  24.  
  25. /** minimal constructor */
  26. public User(String meun) {
  27. this.meun = meun;
  28. }
  29.  
  30. /** full constructor */
  31. public User(String uname, String upass, String meun, Set meuns) {
  32. this.uname = uname;
  33. this.upass = upass;
  34. this.meun = meun;
  35. }
  36.  
  37. // Property accessors
  38.  
  39. public Integer getId() {
  40. return this.id;
  41. }
  42.  
  43. public void setId(Integer id) {
  44. this.id = id;
  45. }
  46.  
  47. public String getUname() {
  48. return this.uname;
  49. }
  50.  
  51. public void setUname(String uname) {
  52. this.uname = uname;
  53. }
  54.  
  55. public String getUpass() {
  56. return this.upass;
  57. }
  58.  
  59. public void setUpass(String upass) {
  60. this.upass = upass;
  61. }
  62.  
  63. public String getMeun() {
  64. return this.meun;
  65. }
  66.  
  67. public void setMeun(String meun) {
  68. this.meun = meun;
  69. }
  70.  
  71. }
  1. import java.util.List;
  2.  
  3. import org.hibernate.Query;
  4. import org.hibernate.Session;
  5. import org.hibernate.SessionFactory;
  6. import org.hibernate.cfg.Configuration;
  7.  
  8. import com.binary.entity.PageModel;
  9. import com.binary.entity.User;
  10.  
  11. public class UserDao {
  12.  
  13. public PageModel<User> getUsers(int offset,int maxResult) {
  14. Configuration cf=new Configuration().configure();
  15. SessionFactory sf=cf.buildSessionFactory();
  16. Session session=sf.openSession();
  17. Query q= session.createQuery("from User");
  18. PageModel<User> users=new PageModel<User>();
  19. users.setTotal(q.list().size());
  20. q.setFirstResult(offset);
  21. q.setMaxResults(maxResult);
  22.  
  23. users.setDates(q.list());
  24. session.close();
  25. return users;
  26. }
  27. }
  1. package com.dan.biz;
  2.  
  3. import com.binary.entity.PageModel;
  4. import com.binary.entity.User;
  5. import com.dan.dao.UserDao;
  6.  
  7. public class UserBiz {
  8.  
  9. public PageModel<User> getUsers(int offset,int maxResult) {
  10. return new UserDao().getUsers(offset, maxResult);
  11. }
  12. }
  1. package com.dan.action;
  2.  
  3. import org.apache.struts2.ServletActionContext;
  4.  
  5. import com.binary.entity.PageModel;
  6. import com.binary.entity.Pager;
  7. import com.binary.entity.User;
  8. import com.dan.biz.UserBiz;
  9. import com.opensymphony.xwork2.ActionSupport;
  10.  
  11. public class UserAction extends ActionSupport {
  12.  
  13. private Pager pager=new Pager();//存放偏移量
  14. private int numPerPage=2;//每页的数据量
  15. private long totalCount;//总页数
  16. private String str;
  17.  
  18. public String getStr() {
  19. return str;
  20. }
  21.  
  22. public void setStr(String str) {
  23. this.str = str;
  24. }
  25.  
  26. public Pager getPager() {
  27. return pager;
  28. }
  29.  
  30. public void setPager(Pager pager) {
  31. this.pager = pager;
  32. }
  33.  
  34. public int getNumPerPage() {
  35. return numPerPage;
  36. }
  37.  
  38. public void setNumPerPage(int numPerPage) {
  39. this.numPerPage = numPerPage;
  40. }
  41.  
  42. public long getTotalCount() {
  43. return totalCount;
  44. }
  45.  
  46. public void setTotalCount(long totalCount) {
  47. this.totalCount = totalCount;
  48. }
  49.  
  50. public String execute() {
  51. System.out.println(str);
  52. UserBiz biz=new UserBiz();
  53. PageModel<User> users=biz.getUsers(pager.getOffset(), numPerPage);
  54. totalCount=users.getTotal();
  55. ServletActionContext.getRequest().setAttribute("user", users.getDates());
  56. return SUCCESS;
  57. }
  58. }
  1. page.tag封装成tag标签
  2. <%@tag pageEncoding="utf-8" %>
  3. <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  4. <%@ taglib prefix="pg" uri="/WEB-INF/lib/pager-taglib.jar" %>
  5. <%@attribute name="color" required="true" %>
  6. <%@attribute name="totalCount" required="true" rtexprvalue="true" %>
  7. <%@attribute name="numPerPage" required="true" rtexprvalue="true" %>
  8.  
  9. <pg:pager items="${totalCount }" url="user" export="currentPageNumber=pageNumber"
  10. maxPageItems="${numPerPage }" maxIndexPages="5">
  11.  
  12. <pg:first>
  13. <a href="${pageUrl }">首页</a>
  14. </pg:first>
  15. <pg:prev>
  16. <a href="${pageUrl }">前页</a>
  17. </pg:prev>
  18. <pg:pages>
  19. <c:choose>
  20. <c:when test="${pageNumber == currentPageNumber}">
  21. <font color="red">${pageNumber }</font>
  22. </c:when>
  23. <c:otherwise>
  24. <a href="${pageUrl }">${pageNumber }</a>
  25. </c:otherwise>
  26. </c:choose>
  27.  
  28. </pg:pages>
  29. <pg:next>
  30. <a href="${pageUrl }&str=aaaa">下一页</a>
  31.  
  32. </pg:next>
  33. <pg:last>
  34. <a href="${pageUrl }">尾页</a>
  35. </pg:last>
  36. ${pageUrl }
  37.  
  38. </pg:pager>
  1. jsp代码
  2. <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
  3. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  4. <%@ taglib prefix="pg" uri="/WEB-INF/lib/pager-taglib.jar" %>
  5. <%@ taglib prefix="page" tagdir="/WEB-INF/tags" %>
  6. <%
  7. String path = request.getContextPath();
  8. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  9. %>
  10.  
  11. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  12. <html>
  13. <head>
  14. <base href="<%=basePath%>">
  15.  
  16. <title>My JSP 'index.jsp' starting page</title>
  17. <meta http-equiv="pragma" content="no-cache">
  18. <meta http-equiv="cache-control" content="no-cache">
  19. <meta http-equiv="expires" content="0">
  20. <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  21. <meta http-equiv="description" content="This is my page">
  22. <!--
  23. <link rel="stylesheet" type="text/css" href="styles.css">
  24. -->
  25. </head>
  26.  
  27. </head>
  28. <body>
  29. <c:forEach items="${user }" var="u">
  30. ${u.uname }
  31. </c:forEach>
  32.  
  33. <page:page color="red" numPerPage="${numPerPage }" totalCount="${totalCount }"></page:page>
  34. </body>
  35. </html>

使用pager进行分页的更多相关文章

  1. asp.net mvc 简易通用自定义Pager实现分页

    asp.net mvc 自定义Pager实现分页 Intro 一个WEB应用程序中经常会用到数据分页,本文将实现一个简单通用的分页组件,包含一个 PagerModel (用来保存页码信息),一个 Ht ...

  2. jQuery +ajax +json+实现分页

    正文 首先我们创建一般处理程序,来读取数据库中内容,得到返回值. 创建文件,GetData.ashx. 我这里是用的存储过程,存储过程会再下面粘出来,至于数据只是实例,你们可根据需求自行读取数据 代码 ...

  3. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(8)-MVC与EasyUI DataGrid 分页

    系列目录 前言 为了符合后面更新后的重构系统,文章于2016-11-1日重写 EasyUI Datagrid在加载的时候会提交一些分页的信息到后台,我们需要根据这些信息来进行数据分页再次返回到前台 实 ...

  4. 基于Jquery+Ajax+Json+高效分页

    摘要 分页我相信大家存储过程分页已经很熟悉了,ajax更是耳熟能详了,更别说我们的json,等等. 如果说您没用过这些东东的话,我相信看完这篇博文会对您有帮助的,,如果有任何问题不懂或者有bug没问题 ...

  5. Hibernate分页查询小结

    通常使用的Hibernate通常是三种:hql查询,QBC查询和QBE查询: 1.QBE(Qurey By Example)检索方式 QBE 是最简单的,但是功能也是最弱的,QBE的功能不是特别强大, ...

  6. 使用MvcPager实现Ajax分页

    接触ASP.NET MVC的时间不长,这段时间做东西的时候要用到分页,但是普通的分页用户体验不是很好,所以想实现无刷新的分页. 在网上找了好多例子,但是感觉都封装的不好,不小心发现了Webdiyer. ...

  7. ASP.NET MVC 分页问题

    在使用Ajax.Pager进行分页的时候需要注意一下几个方面: 1.一定要引入jquery.unobtrusive-ajax.min.js这个js: 2.一定要在页面中使用注册分页器,注册方法:@{H ...

  8. 基于Jquery+Ajax+Json+存储过程 高效分页

    在做后台开发中,都会有大量的列表展示,下面给大家给大家分享一套基于Jquery+Ajax+Json+存储过程高效分页列表,只需要传递几个参数即可.当然代码也有改进的地方,如果大家有更好的方法,愿留下宝 ...

  9. YII框架CGridView分页实现

    C控制器层 $model = new User('search'); $model->unsetAttributes(); $dataProvider = $model->search() ...

随机推荐

  1. vmware 新机克隆

    选li72 右键点击------管理-----克隆 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlsaTcy/font/5a6L5L2T/fontsi ...

  2. JAVA连接ACCESS、MYSQL、SQLSEVER、ORACLE数据库

    . 概要 1.1 JDBC概念 JDBC(Java Database Connectivity)是Java语言为了支持SQL功能而提供的与数据库连接的用户的接口.JDBC中包含了一组由(Java)语言 ...

  3. 《UNIX级别编程环境》注意读出信号(2)

    1.功能sigaction sigaction动与指定信号相关联的处理动作.其函数原型例如以下: #inlcude <signal.h> int sigaction(int signo,c ...

  4. jquery-ui-bootstrap动态添加和删除标签页封装【效果更炫】

    1.效果图 2.导入js和css <link rel="stylesheet" href="css/bootstrap/css/bootstrap.min.css& ...

  5. iOS,Android,.NET通用AES加密算法

    原文:iOS,Android,.NET通用AES加密算法 这两天为移动App开发API,结果实现加密验证时碰到一大坑.这里不得不吐槽下又臭又硬的iOS,Windows Server无法解密出正确的结果 ...

  6. 收藏的一些javascript片段

    原文:收藏的一些javascript片段 学习js也很有一段时间,收集了一些js的片段.特地整理排版了一下,以一个js初学者的视界来分析注释了这些代码段,暂且不去讨论它的性能和优化问题,相信会对一些初 ...

  7. 纠错《COM技术内幕》之ProgID

    近期在看<COM技术内幕>,看到第六章时发现该章节在解释ProgID时有点错误,特此记录一下,也给正在学习COM的小伙伴们一个提示. 并且我发现该问题存在于一些非常多大型软件的COM组件中 ...

  8. 自己定义View之绘制圆环

    一.RingView 自己定义的view,构造器必须重写,至于重写哪个方法,參考例如以下: ①假设须要改变View绘制的图像,那么须要重写OnDraw方法.(这也是最经常使用的重写方式.) ②假设须要 ...

  9. hust1384---The value of F[n]

    Description For any integer i>=3 we have F[i]=(F[i-1]+2*F[i-2]+3*F[i-3])%9901; Now give you F[0], ...

  10. 从头学起android&lt;AutoCompleteTextView文章提示文本框.十九.&gt;

    文章提示可以很好的帮助用户输入信息,以方便.在Android它也设置有类似特征,而要实现这个功能需要依靠android.widget.AutoCompleteTextView完毕,此类的继承结构例如以 ...