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="true" %> <%@attribute name="numPerPage" required="true" rtexprvalue="true" %> <pg:pager items="${totalCount }" url="user" export="currentPageNumber=pageNumber" maxPageItems ="${numPerPage }" maxIndexPages="5"> <pg:first> <a href="${pageUrl }">首頁</a> </pg:first> <pg:prev> <a href="${pageUrl }">前頁</a> </pg:prev> <pg:pages> <c:choose> <c:when test="${pageNumber == currentPageNumber}"> <font color="red">${pageNumber }</font> </c:when> <c:otherwise> <a href="${pageUrl }">${pageNumber }</a> </c:otherwise> </c:choose> </pg:pages> <pg:next> <a href="${pageUrl }&str=aaaa">下一頁</a> </pg:next> <pg:last> <a href="${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="<%=basePath%>"> <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="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>
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
