首页 > 代码库 > 使用pager进行分页
使用pager进行分页
pager jar网址:http://java2s.com/Code/Jar/t/Downloadtaglibspagejar.htm
package com.binary.entity;import java.util.List;public class PageModel<T> { private long total;//页数 private List<T> dates;//当前页的数据 public long getTotal() { return total; } public void setTotal(long total) { this.total = total; } public List<T> getDates() { return dates; } public void setDates(List<T> dates) { this.dates = dates; } }
package com.binary.entity;public class Pager { private int offset;//offset表示从那一页开始记录 public int getOffset() { return offset; } public void setOffset(int offset) { this.offset = offset; } }
package com.binary.entity;import java.util.HashSet;import java.util.Set;/** * User entity. @author MyEclipse Persistence Tools */public class User implements java.io.Serializable { // Fields private Integer id; private String uname; private String upass; private String meun; // Constructors /** default constructor */ public User() { } /** minimal constructor */ public User(String meun) { this.meun = meun; } /** full constructor */ public User(String uname, String upass, String meun, Set meuns) { this.uname = uname; this.upass = upass; this.meun = meun; } // Property accessors public Integer getId() { return this.id; } public void setId(Integer id) { this.id = id; } public String getUname() { return this.uname; } public void setUname(String uname) { this.uname = uname; } public String getUpass() { return this.upass; } public void setUpass(String upass) { this.upass = upass; } public String getMeun() { return this.meun; } public void setMeun(String meun) { this.meun = meun; }}
import java.util.List;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;import com.binary.entity.PageModel;import com.binary.entity.User;public class UserDao { public PageModel<User> getUsers(int offset,int maxResult) { Configuration cf=new Configuration().configure(); SessionFactory sf=cf.buildSessionFactory(); Session session=sf.openSession(); Query q= session.createQuery("from User"); PageModel<User> users=new PageModel<User>(); users.setTotal(q.list().size()); q.setFirstResult(offset); q.setMaxResults(maxResult); users.setDates(q.list()); session.close(); return users; }}
package com.dan.biz;import com.binary.entity.PageModel;import com.binary.entity.User;import com.dan.dao.UserDao;public class UserBiz { public PageModel<User> getUsers(int offset,int maxResult) { return new UserDao().getUsers(offset, maxResult); }}
package com.dan.action;import org.apache.struts2.ServletActionContext;import com.binary.entity.PageModel;import com.binary.entity.Pager;import com.binary.entity.User;import com.dan.biz.UserBiz;import com.opensymphony.xwork2.ActionSupport;public class UserAction extends ActionSupport { private Pager pager=new Pager();//存放偏移量 private int numPerPage=2;//每页的数据量 private long totalCount;//总页数 private String str; public String getStr() { return str; } public void setStr(String str) { this.str = str; } public Pager getPager() { return pager; } public void setPager(Pager pager) { this.pager = pager; } public int getNumPerPage() { return numPerPage; } public void setNumPerPage(int numPerPage) { this.numPerPage = numPerPage; } public long getTotalCount() { return totalCount; } public void setTotalCount(long totalCount) { this.totalCount = totalCount; } public String execute() { System.out.println(str); UserBiz biz=new UserBiz(); PageModel<User> users=biz.getUsers(pager.getOffset(), numPerPage); totalCount=users.getTotal(); ServletActionContext.getRequest().setAttribute("user", users.getDates()); return SUCCESS; }}
page.tag封装成tag标签<%@tag pageEncoding="utf-8" %><%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%@ taglib prefix="pg" uri="/WEB-INF/lib/pager-taglib.jar" %><%@attribute name="color" required="true" %><%@attribute name="totalCount" required="true" rtexprvalue="http://www.mamicode.com/true" %><%@attribute name="numPerPage" required="true" rtexprvalue="http://www.mamicode.com/true" %><pg:pager items="${totalCount }" url="user" export="currentPageNumber=pageNumber" maxPageItems="${numPerPage }" maxIndexPages="5"> <pg:first> <a href="http://www.mamicode.com/${pageUrl }">首页</a> </pg:first> <pg:prev> <a href="http://www.mamicode.com/${pageUrl }">前页</a> </pg:prev> <pg:pages> <c:choose> <c:when test="${pageNumber == currentPageNumber}"> <font color="red">${pageNumber }</font> </c:when> <c:otherwise> <a href="http://www.mamicode.com/${pageUrl }">${pageNumber }</a> </c:otherwise> </c:choose> </pg:pages> <pg:next> <a href="http://www.mamicode.com/${pageUrl }&str=aaaa">下一页</a> </pg:next> <pg:last> <a href="http://www.mamicode.com/${pageUrl }">尾页</a> </pg:last> ${pageUrl } </pg:pager>
jsp代码<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%@ taglib prefix="pg" uri="/WEB-INF/lib/pager-taglib.jar" %><%@ taglib prefix="page" tagdir="/WEB-INF/tags" %><%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="http://www.mamicode.com/"> <title>My JSP ‘index.jsp‘ starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="http://www.mamicode.com/styles.css"> --> </head> </head> <body> <c:forEach items="${user }" var="u"> ${u.uname } </c:forEach> <page:page color="red" numPerPage="${numPerPage }" totalCount="${totalCount }"></page:page></body> </html>
使用pager进行分页
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。