freemarker分页(首页、尾页和1..9范围)

思路:

<#-- 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>

猜你喜欢

转载自tiger-hu.iteye.com/blog/1579585