分页test

5 篇文章 0 订阅

/**
*
* @author lan
*
*/
public class PagerViewTest {
public static void main(String[] args) {
int vn=5;//显示页数
int tp=11;//总页数
int pn=4;//当前页
int startn=1;//显示开始页
int endn=1;//显示结束页
for(pn=1;pn<=11;pn++){
if(tp<=vn){//总页数小于显示页数是显示全部
System.out.print("help0");
startn=1;
endn=tp;
}else{//总页数大于于显示页数
if((pn-vn/2)<=0){//前部
System.out.print("help2");
startn=1;
endn=startn+vn-1;
}else if(tp<pn+vn/2+(vn%2)){//中部
System.out.print("help3");
startn=tp-vn+1;
endn=tp;
}else{//后部
System.out.print("help4");
startn=(pn-vn/2);
endn=pn+vn/2-1+(vn%2);
}
}
System.out.print("[首页1]"+"\t");
for(int i=0;i<(endn-startn+1);i++){
if(pn==startn+i){
System.out.print("【"+(startn+i)+"】\t");
}else{
System.out.print((startn+i)+"\t");
}
}
System.out.println("[末页"+tp+"]");
}
}
}




<%@ tag pageEncoding="UTF-8" %>
<%@ include file="/WEB-INF/jsp/common/global.jsp" %>

<%@ attribute name="id" required="true" type="java.lang.String" %>
<%@ attribute name="pager" required="true" type="org.xxx.Pager" %>
<c:set var="tp" value="${pager.totalPage}"/>
<c:set var="pn" value="${pager.pageNumber>pager.totalPage?pager.totalPage:pager.pageNumber}"/>
<c:set var="vn" value="8"/>
<c:set var="startn" value="1"/>
<c:set var="endn" value="1"/>
<c:choose>
<c:when test="${tp<=vn}">
<c:set var="startn" value="1"/>
<c:set var="endn" value="${tp}"/>
</c:when>
<c:otherwise>
<c:choose>
<c:when test="${pn<=vn/2+(vn%2)}">
<c:set var="startn" value="1"/>
<c:set var="endn" value="${startn+vn-1}"/>
</c:when>
<c:when test="${tp<pn+vn/2+(vn%2)}">
<c:set var="startn" value="${tp-vn+1}"/>
<c:set var="endn" value="${tp}"/>
</c:when>
<c:otherwise>
<c:set var="startn" value="${(pn-vn/2+(vn%2))}"/>
<c:set var="endn" value="${startn+vn-1}"/>
</c:otherwise>
</c:choose>
</c:otherwise>
</c:choose>
<h2>
<a href="${BASE}/articles/1">首页</a>
<c:if test="${pn>1}">
<a href="${BASE}/articles/${pn-1}">上一页</a>
</c:if>
<c:forEach var="i" begin="${startn}" end="${endn}">
<c:choose>
<c:when test="${pn==i}">
<a href="${BASE}/articles/${i}">【${i}】</a>
</c:when>
<c:otherwise>
<a href="${BASE}/articles/${i}">${i}</a>
</c:otherwise>
</c:choose>
</c:forEach>
<c:if test="${pn<tp}">
<a href="${BASE}/articles/${pn+1}">下一页</a>
</c:if>
<a href="${BASE}/articles/${tp}">末页</a>
</h4>
<hr/>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值