jsp数字分页

5 篇文章 0 订阅
<%@ tag pageEncoding="UTF-8" %>
<%@tag import="com.xxx.xxx.page.Pagination"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ attribute name="pageUrl" required="true" rtexprvalue="true" description="分页页面对应的URl" %>
<%@ attribute name="pageAttrKey" required="true" rtexprvalue="true" description="Page对象在Request域中的键名称" %>
<c:set var="pageUrl" value="${pageUrl}" />
<%
	pageUrl+="?";
	String args = request.getQueryString();
	if(args!=null){
		args = args.replaceAll("([\\?&]?)pageNo=[^&]*[&$]?", "$1");
		if(args!=null && !"".equals(args)){
			String str = args.substring(args.length()-1);
			if("&".equals(str) || "?".equals(str)){
				pageUrl+=args;
			}else{
				pageUrl+=args+"&";
			}
		}
	}
   Pagination pageResult = (Pagination)request.getAttribute(pageAttrKey);
   int startPage = 1;
   int endPage = 9;
   if(pageResult.getPageNo()>5){
	   startPage = pageResult.getPageNo() - 5;
	   endPage = pageResult.getPageNo() + 3;
   }
   if(endPage>pageResult.getTotalPage()){
	   endPage = pageResult.getTotalPage();
   }
   jspContext.setAttribute("pageResult", pageResult);
   jspContext.setAttribute("pageUrl", pageUrl);
   jspContext.setAttribute("startPage", startPage);
   jspContext.setAttribute("endPage", endPage);
%>
<div class="badoo">
	<c:if test="${pageResult.pageNo>1}">
		<a href="${pageUrl}pageNo=${pageResult.pageNo-1}"> < 上一页</a>
	</c:if>
	<c:forEach var="i" begin="${startPage}" end="${endPage}" step="1">
		<c:if test="${pageResult.pageNo==i}">
			<span class="current">${i}</span>
		</c:if>
		<c:if test="${pageResult.pageNo!=i}">
			<a href="${pageUrl}pageNo=${i}">${i}</a>
		</c:if>
	</c:forEach>
	<c:if test="${pageResult.totalPage>endPage}">
		<a href="${pageUrl}pageNo=${endPage+1}">...</a>
	</c:if>
	<c:if test="${pageResult.pageNo<pageResult.totalPage}">
		<a href="${pageUrl}pageNo=${pageResult.pageNo+1}">下一页  > </a>
	</c:if>
</div>
 
<%@taglib prefix="gyw" tagdir="/WEB-INF/tags" %>


<gyw:PageBar pageUrl="${contextPath}/market/search/resource.go" pageAttrKey="pagedResource"></gyw:PageBar>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值