码迷,mamicode.com
首页 > 其他好文 > 详细

使用pager进行分页

时间:2014-12-28 22:03:37      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:

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> 

 

使用pager进行分页

标签:

原文地址:http://www.cnblogs.com/danmao/p/4190681.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!