分页

40 篇文章 0 订阅
10 篇文章 0 订阅
package app.log;

public class LogPage {
	private int mCurentPageNum = 1;
	private int mPageItemNum = 13;
	private int mToatalItemNum = 0;
	private int mTotalPageNum = 0;
	private int mDisplayPageNum = 5;
	
	public LogPage(int allNum) {
		mToatalItemNum = allNum;
		mTotalPageNum = mToatalItemNum/mPageItemNum + (mToatalItemNum%mPageItemNum>0?1:0);
	}
	
	public String displayPages(int currentPageNum) {
		StringBuffer data = new StringBuffer();
		data.append("<div class=\"page_nav\">");
		data.append("<span>"+mToatalItemNum+"条数据  共"+mTotalPageNum+"页</span>");
		mCurentPageNum = currentPageNum;
		if (mTotalPageNum <= mDisplayPageNum) {
			for(int i=1;i<=mTotalPageNum;i++) {
				if (mCurentPageNum == i) {
					data.append("<strong>"+i+"</strong>");
				}else {
					data.append("<a href=\"javascript:;\" οnclick=\"showPage("+i+")\">"+i+"</a>");
				}
			}
			return data.toString();
		} 
		
		if (mCurentPageNum <= mDisplayPageNum) {
			for(int i=1;i<=mDisplayPageNum;i++) {
				if (mCurentPageNum == i) {
					data.append("<strong>"+i+"</strong>");
				}else {
					data.append("<a href=\"javascript:;\" οnclick=\"showPage("+i+")\">"+i+"</a>");
				}
			}
			data.append("<a href=\"javascript:;\" οnclick=\"showPage("+getDownThreePoint()+")\">...</a>");
			data.append("<a href=\"javascript:;\" οnclick=\"showPage("+(mCurentPageNum+1)+")\">下一页</a>");
			data.append("<a href=\"javascript:;\" οnclick=\"showPage("+mTotalPageNum+")\">末页</a>");
			return data.toString();
		}
		
		if (mTotalPageNum - mCurentPageNum+1 <= mDisplayPageNum) {
			data.append("<a href=\"javascript:;\" οnclick=\"showPage(1)\">首页</a>");
			data.append("<a href=\"javascript:;\" οnclick=\"showPage("+(mCurentPageNum-1)+")\">上一页</a>");
			data.append("<a href=\"javascript:;\" οnclick=\"showPage("+getUpThreePoint()+")\">...</a>");
			for(int i=mTotalPageNum - mDisplayPageNum +1; i<=mTotalPageNum;i++){
				if (mCurentPageNum == i) {
					data.append("<strong>"+i+"</strong>");
				}else {
					data.append("<a href=\"javascript:;\" οnclick=\"showPage("+i+")\">"+i+"</a>");
				}
			}
			return data.toString();
		}
		
		///
		data.append("<a href=\"javascript:;\" οnclick=\"showPage(1)\">首页</a>");
		data.append("<a href=\"javascript:;\" οnclick=\"showPage("+(mCurentPageNum-1)+")\">上一页</a>");
		data.append("<a href=\"javascript:;\" οnclick=\"showPage("+getUpThreePoint()+")\">...</a>");
		int remainder = mCurentPageNum%mDisplayPageNum;
		int startData =0;
		if (remainder == 0) {
			startData = mCurentPageNum-mDisplayPageNum+1;
		}else {
			startData = mCurentPageNum-remainder+1;
		}
		for(int i=startData;i<mDisplayPageNum + startData;i++) {
			if (mCurentPageNum == i) {
				data.append("<strong>"+i+"</strong>");
			}else {
				data.append("<a href=\"javascript:;\" οnclick=\"showPage("+i+")\">"+i+"</a>");
			}
		}
		
		data.append("<a href=\"javascript:;\" οnclick=\"showPage("+getDownThreePoint()+")\">...</a>");
		data.append("<a href=\"javascript:;\" οnclick=\"showPage("+(mCurentPageNum+1)+")\">下一页</a>");
		data.append("<a href=\"javascript:;\" οnclick=\"showPage("+mTotalPageNum+")\">末页</a>");
		return data.toString();
	}
	int getUpThreePoint() {
		int tmp=0;
		if (mCurentPageNum%mDisplayPageNum == 0) {
			tmp=mCurentPageNum-2*mDisplayPageNum+1;
		}else {
			tmp=mCurentPageNum-(mDisplayPageNum+mCurentPageNum%mDisplayPageNum-1);
		}
		return tmp;
	}
	
	int getDownThreePoint() {
		int tmp=0;
		if (mCurentPageNum%mDisplayPageNum == 0) {
			tmp=mCurentPageNum + 1;
		} else {
			tmp=mCurentPageNum + (mDisplayPageNum-(mCurentPageNum%mDisplayPageNum))+1;
		}
		return tmp;
	}
	public static void main(String[] args) {
		LogPage p = new LogPage(3000);
		System.out.print(p.displayPages(299));
		
	}

	public int getmPageItemNum() {
		return mPageItemNum;
	}
	
	
}

<pre name="code" class="html">.page_nav{margin:20px 0; color:#666; text-align:center;}
.page_nav a,.page_nav strong{display:inline-block; height:22px; margin:0 2px; padding:0 8px; border:solid 1px #dbe5ee; -moz-border-radius: 3px;-webkit-border-radius:3px; background:#fff; cursor:pointer; font:normal 12px/22px Arial, Helvetica, sans-serif;}
.page_nav strong {height:24px; margin:0 3px; border:none; background:#07519a; color:#fff; line-height:24px; text-decoration:none;}
.page_nav span{margin:0 10px;}
function showPage(pageNo) {
$('form').find('input[name="currentPageNum"]').val(pageNo);
$('form').submit();
return false;
}

 


public <X> List<X> findPage(final String hql, final Map<String, ?> values, int pageSize, int pageNo) {
		Query query = createQuery(hql, values);
		if (pageNo != 0 && pageSize != 0) {  
	        query.setFirstResult((pageNo - 1) * pageSize);  
	        query.setMaxResults(pageSize);  
	    }
		return query.list();
	}



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值