Freemarker 翻页分段显示页码实现
可能一个数据列表有1000了数据,10条一个页面,总共100页面,如果把页面都显示出来会太长,影响美观
以下代码可分段显示
<#--
tp--总页数
p--当前页
sp--翻页显示的起始页码
ep--翻页显示的结束页码
eoff--计算翻页段之后超出总页数的数量
一个分段总共显示页数为 3+4+1=8页, 里面的3和4可以根据自己的情况调整
-->
<#assign tp=20/>
<#assign p=1/>
<#assign sp=p-3/>
<#assign ep=p+4/>
<#assign eoff=ep-tp/>
<#if (eoff>0)>
<#assign sp = sp - eoff/>
</#if>
<#if (sp<=0)>
<#assign ep = ep - sp+1/>
</#if>
<#list sp..ep as x>
<#if (x>0 && x<=tp)>
${x}.
</#if>
</#list>