google 显示分页数

google 显示分页数

介绍:根据当前页数、最大页数,显示需要输出的页数集合

 

相关参数:当前页、最大页数
输出结果:页数集合
要求:
  1.一次显示10页
  2.显示页数的范围以当前页中点,向前取5页、向后取4页,
            如当前页码是10则输出                     5、6、7、8、9、 10、11、12、13、14
  3.如当前页向前不足5页时,则向后取时进行补充(补充时页数不能超过最大页)
            如当前页码是3则输出                       1、2、 3、4、5、6、7、8、9、10
  4.如当前页向后不足5页时,则向前取时进行补充(补充时页数不能小于第一页)
            如当前页码是13则输出                      6、7、8、9、10、11、12、 13、14 、15
  5.最大页数如小于10页时,只显示所有的页数
            如当前页码是3,最大页是7 则输出      1、2、 3、4、5、6、7

代码实现:
/**
	 * 获得分页
	 * @param currPage 当前页数
	 * @param totalPages 最大页数
	 * @return
	 */
	public List<String> getPages(int currPage,int totalPages) {
		int stPos = 1;
		int endPos = 10;
		List<String> ret = new ArrayList();
		if(totalPages<10){  				// 总页数不满10页
			endPos = totalPages;			
		}else if(currPage<6){ 				// 前不满5页
			stPos = 1;
			endPos = 10;
		}else if(totalPages-currPage<4){	// 后不满4
			stPos = totalPages-9;
			endPos = totalPages;
		}else{ 								// 普通情况			
			stPos = currPage-5;
			endPos = currPage+4;
		}
		logger.info("总页数:"+totalPages+";当前页面:"+currPage+"   输出-->起始页:"+stPos+";结束页:"+endPos);		
		for(int i= stPos;i<=endPos;i++){
			ret.add(i+"");
		}
		return ret;
	}
	


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值