思路:
<#-- 1.总页码大于9[1..总页码] -->
<#-- 2.当前页码小于4[1..9] -->
<#-- 3.当前大于4 && 当前+4小于总页码-->
<#-- 4.当前大于4 && 当前+4大于总页码-->
说明:
pageForm包含属性:pageIndex当前页码、pageCount总页码、total总数据量、pageSize每页显示条数(页面上不需要使用这个属性,主要用于后台获取数据的时候skip计算使用)
后台中:
总页码:pageCount = (total - 1) / pageSize + 1;
总的代码为:
<#-- 总页数,当前页 -->
<div class="pages" id="pages">
<label>共${pageForm.pageCount}页,约${pageForm.total}条数据</label>
<#if pageForm.pageIndex != 1>
<a href="1" title="首页" class="nav"><span>首页</span></a>
<a href="${pageForm.pageIndex-1}" title="上一页" class="nav"><span>上一页</span></a>
<#else>
<span>首页</span>
<span>上一页</span>
</#if>
<#-- 1.总页码大于9[1..总页码] -->
<#if pageForm.pageCount lt 9>
<#list 1..pageForm.pageCount as index>
<#if pageForm.pageIndex == index>
<a href="#" class="current">${index}</a>
<#else>
<a href="${index}" title="第${index}页" >${index}</a>
</#if>
</#list>
<#else>
<#-- 2.当前页码小于4[1..9] -->
<#if pageForm.pageIndex lt 5>
<#list 1..9 as index>
<#if pageForm.pageIndex == index>
<a href="#" class="current">${index}</a>
<#else>
<a href="${index}" title="第${index}页" >${index}</a>
</#if>
</#list>
<#else>
<#--当前大于4 && 当前+4小于总页码-->
<#if pageForm.pageIndex+4 lt pageForm.pageCount>
<#list pageForm.pageIndex-4..pageForm.pageIndex+4 as index>
<#if pageForm.pageIndex == index>
<a href="#" class="current">${index}</a>
<#else>
<a href="${index}" title="第${index}页" >${index}</a>
</#if>
</#list>
<#else>
<#--当前大于4 && 当前+4大于总页码-->
<#list pageForm.pageCount-8..pageForm.pageCount as index>
<#if pageForm.pageIndex == index>
<a href="#" class="current">${index}</a>
<#else>
<a href="${index}" title="第${index}页" >${index}</a>
</#if>
</#list>
</#if>
</#if>
</#if>
<#if pageForm.pageIndex != pageForm.pageCount>
<a href="${pageForm.pageIndex+1}" title="下一页" class="nav"><span>下一页</span></a>
<a href="${pageForm.pageCount}" title="未页" class="nav"><span>未页</span></a>
<#else>
<span>下一页</span>
<span>未页</span>
</#if>
</div>