java 生成分页信息

/**

	 * 获得分页标签,返回分页标签字符串<br>

	 * <br>

	 * @param jsFunction js函数<br>

	 * @param pageNumber 当前页<br>

	 * @param pageSize 每页记录数<br>

	 * @param rowAmount 总记录数<br>

	 * @return paginationHtml 返回获得的分页标签字符串<br>

	 * @throws java.io.Exception 发生错误的时候被抛出<br>

	 *  

	*/

	public static String getPaginationHtml (

		String jsFunction, int pageNumber, int pageSize, int rowAmount

		) {



		// 判断总记录数或当前页数是否小于等于0

		if ( rowAmount <= 0 || pageNumber <= 0) {

			// 总记录数或当前页数小于等于0时,返回初期值

			return "";

		}

		

		StringBuffer paginationHtml = new StringBuffer();  // 分页标签初始化



		// 获得总页数

		int pageAmount = getPageAmount(rowAmount, pageSize);



		// 判断总页数是否大于0

		if(pageAmount > 0){

			// 总页数是否大于0时,判断当前页是否大于1

			

			paginationHtml.append("<ul>");

			

			if (pageNumber > 1) {

				// 大于1时,设置第一页标签 <li class="nextpage"><a href="#">next</a></li>

				paginationHtml.append("<li><a href = \"#\" onClick=\"").append(jsFunction).append("(1);").append("\">第一页</a></li> ");

				// 设置上一页标签

				paginationHtml.append("<li><a href = \"#\" onClick=\"").append(jsFunction).append("(").append(pageNumber - 1).append("); \">上一页</a></li> ");



			}       

			// 判断当前页是否小于总页数

			if (pageNumber < pageAmount) {

				// 当前页小于总页数时,设置下一页标签

				paginationHtml.append("<li><a href = \"#\" onClick=\"").append(jsFunction).append("(").append(pageNumber + 1).append("); \">下一页</a></li> ");

				// 设置最后页标签				

				paginationHtml.append("<li><a href = \"#\" onClick=\"").append(jsFunction).append("(").append(pageAmount).append("); \">最后页</a></li> ");

			} else {

				// 翻页最后一页删除的场合

				

				pageNumber = pageAmount;

			}

		

			// 判断总页数是否大于1

			if(pageAmount > 1){

				// 设置跳转开始标签

				paginationHtml.append("<li>当前是第").append(pageNumber).append("页</li> ");

				// 设置跳转项

				for(int i=1; i <= pageAmount; i++){

					

					if( Math.abs(pageNumber - i) < 6 ){

						// 判断是否是被选中的项

						if(i == pageNumber){

							// 是时,设置选中状态 <li class="pageNumber">1</li>

							paginationHtml.append("<li><span class=\"currentpage\">").append(i).append("</span></li> ");

						} else {

							// 否则

							paginationHtml.append("<li><a href = \"#\" onClick=\"").append(jsFunction).append("(").append(i).append("); \">").append(i).append("</a></li> ");

						}

					}

				}

				

				// 设置跳转结束标签

				paginationHtml.append("");

			}

		

			// 设置当前页和总共页标签

			 paginationHtml.append("<li>共").append(pageAmount).append("页,");

			 paginationHtml.append(rowAmount).append("条记录。</li></ul>");

			 

			 // 保留当前页码

			paginationHtml.append("<input type=\"hidden\" id=\"currPage\" name=\"currPage\" value=\"").append(pageNumber).append("\" />");

		}



		// 返回分页标签

		return paginationHtml.toString();

	}



	/**

	 * 获得总页数,返回int类型<br>

	 * <br>

	 * @param rowAmount 总记录数<br>

	 * @param pageSize 每页记录数<br>

	 * @return pageAmount 总页数<br>

	 * @throws Exception 发生错误的时候被抛出<br>

	*/

	public static int getPageAmount (int rowAmount, int pageSize) {

		int pageAmount = 0;         // 总页数的初始化

		if (rowAmount > 0 && pageSize > 0) {

			// 总记录数大于0的情况

			// 获得总页数

			pageAmount = rowAmount / pageSize;

			// 最后一页不满pPageNum条的时候

			if (rowAmount % pageSize != 0) {

				pageAmount++;

			}

		}

		// 返回总页数

		return pageAmount;

	}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值