page and pageBean

/**
 * www.dhgate.com copyright reserved.
 */
package com.dhgate.util;

import java.util.List;

/**
 * 分页对象。一个分页对象包含查询的结果集<list>和分页信息pageBean
 * @author sunbaoming
 *
 */
public class Page implements java.io.Serializable {
	private static final long serialVersionUID = -5491862383942862703L;
	/** 查询结果 */
    private List result;
    /** 分页信息Bean */
    private PageBean pageBean;
    
    /**
     * (空)
     */
    public Page() {}
    
    /**
     * 根据查询结果、分页信息构造
     * @param lstResult 查询结果
     * @param pageBean 分页信息Bean
     */
    public Page(List lstResult, PageBean pageBean) {
        this.result = lstResult;
        this.pageBean = pageBean;
    }
    
    /**
     * 取得查询结果
     * @return 查询结果
     */
    public List getResult() {
        return result;
    }
    /**
     * 设置查询结果
     * @param lstResult 查询结果
     */
    public void setResult(List lstResult) {
        this.result = lstResult;
    }
    
    /**
     * 取得分页信息Bean
     * @return 分页信息Bean
     */
    public PageBean getPageBean() {
        return pageBean;
    }
    /**
     * 设置分页信息Bean
     * @param pageBean 分页信息Bean
     */
    public void setPageBean(PageBean pageBean) {
        this.pageBean = pageBean;
    }

    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder();
        sb.append("Page");
        sb.append("{result=").append(result);
        sb.append(", pageBean=").append(pageBean);
        sb.append('}');
        return sb.toString();
    }
}


package com.dhgate.util;

import java.util.ArrayList;
import java.util.List;


/**
 * 分页查询结果集的翻页信息
 * @author sunbaoming@dhgate.com
 */
public class PageBean implements java.io.Serializable {
	
	private static final long serialVersionUID = 6843814549013761926L;
	/**一共显示分页的元素:*/
    private static int yuansu = 11;    
    /**缺省的分页条数*/
    private static int DEF_PAGE_VIEW_SIZE=20;    
    
    
    /** 当前页 */
    private int page;
    /** 当前页显示记录条数 */
    private int pageSize;
    /** 取得查询总记录数 */
    private int count;
    /** 共几页 */
    private int sumPage;
    /** 分页显示,如:1...6789101112...15 */
    private List pageDetail = new ArrayList();
    /**
     * (空)
     */
    public PageBean() {}
    
    /**
     * 根据当前显示页与每页显示记录数设置查询信息初始对象
     * @param page 当前显示页号
     * @param pageSize 当前页显示记录条数
     */
    public PageBean(int page, int pageSize) {
        this.page = (page <= 0) ? 1 : page;
        this.pageSize = (pageSize <= 0) ? DEF_PAGE_VIEW_SIZE : pageSize;
    }
	/**
     * 取得当前显示页号
     * @return 当前显示页号
     */
    public int getPage() {
        return (page <= 0) ? 1 : page;
    }
    /**
     * 设置当前页
     * @param page 当前页
     */
    public void setPage(int page) {
        this.page = page;
    }
    
    /**
     * 取得当前显示页号最多显示条数
     * @return 当前显示页号最多显示条数
     */
    public int getPageSize() {
        return (pageSize <= 0) ? DEF_PAGE_VIEW_SIZE : pageSize;
    }
    /**
     * 设置当前页显示记录条数
     * @param pageSize 当前页显示记录条数
     */
    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
        //this.setNewPaging(this.count, this.pageSize);
    }
    
    /**
     * 取得查询取得记录总数
     * @return 取得查询取得记录总数
     */
    public long getCount() {
        return count;
    }
    /**
     * 新分页设计的几个参数
     * @param count
     * @param pageSize
     *//*
    public void setNewPaging(int count,int pageSize){
        if(count>0&&pageSize>0){
            this.sumPage = this.count/this.pageSize+(this.count%this.pageSize==0?0:1);
            
            int zhengsan = 0;
            for(int k=1;k<=yuansu;k++){
                if(k>sumPage){//已经超越最后一页
                    break;
                }  
                if(sumPage<=yuansu){//假如是共有的页数小于等于应有的元素数的话
                    if(page==k){
                        pageDetail.add(0);
                    }else{
                        pageDetail.add(k);
                    }
                }else if(k==1){//假如正数第一
                    if(page==k){
                        pageDetail.add(0);
                    }else{
                        pageDetail.add(k);
                    }
                }else if(k==yuansu){//假如倒数第一个元素的话
                    if(sumPage==page){
                        pageDetail.add(0);
                    }else{
                        pageDetail.add(sumPage);
                    }
                }else if(k==2){//假如正数第二
                    if(page-3>3){
                        pageDetail.add("...");
                        if(sumPage-(page+3)>2){//倒数第二个元素是...
                            zhengsan = page-3;
                        }else{
                            zhengsan = sumPage-8;
                        }                            
                    }else if(page==k){
                        pageDetail.add(0);
                        zhengsan = k+1;
                    }else{
                        pageDetail.add(k);
                        zhengsan = k+1;
                    }                        
                }else if(k==(yuansu-1)){//倒数第二个元素的话
                    if(sumPage-(page+3)>2){
                        pageDetail.add("...");  
                    }else if(page==(sumPage-1)){
                        pageDetail.add(0);
                    }else{
                        pageDetail.add(sumPage-1);
                    } 
                }else{
                    for(int l=zhengsan;l<zhengsan+1;l++){
                        if(page==l){
                            pageDetail.add(0);
                        }else{
                            pageDetail.add(l);
                        }                            
                    }
                    zhengsan ++;
                }
            }
         }else{
             this.sumPage = 0;
         }
    }*/
    /**
     * 设置查询取得记录总数
     * @param count 查询取得记录总数
     */
    public void setCount(int count) {
        this.count = (count < 0) ? 0 : count;
        if (this.page > this.getPages()) {
			this.page = this.getPages();
		}     
        //this.setNewPaging(this.count, this.pageSize);
    }
    
    /**
     * 取得当前查询总页数
     * @return 当前查询总页数
     */
    public int getPages() {
        return (count + getPageSize() - 1) / getPageSize();
    }
    /**
     * 取得起始显示记录号
     * @return 起始显示记录号
     */
    public int getStartNo() {
        return ((getPage() - 1) * getPageSize() + 1);
    }
    /**
     * 取得结束显示记录号
     * @return 结束显示记录号
     */
    public int getEndNo() {
        return Math.min(getPage() * getPageSize(), count);
    }
    
    /**
     * 取得前一显示页码
     * @return 前一显示页码
     */
    public int getPrePageNo() {
        return Math.max(getPage() - 1, 1);
    }
    
    /**
     * 取得后一显示页码
     * @return 后一显示页码
     */
    public int getNextPageNo() {
        return Math.min(getPage() + 1, getPages());
    }

    public int getSumPage() {
        return sumPage;
    }

    public void setSumPage(int sumPage) {
        this.sumPage = sumPage;
    }

    public List getPageDetail() {
        return pageDetail;
    }

    public void setPageDetail(List pageDetail) {
        this.pageDetail = pageDetail;
    }
    
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值