其实很普通的功能,今天把分页分离出来,放到一个 ftl里边,以后用的话只需要引入即可,真TMD爽a
本文只是记录一下,自己爽一爽的,不能作为例子(代码没有完全粘过来),而且有待改进。。。
前台使用:
<#include "include/page.ftl" />
后台Action需要设置好 PageModel
public class PageModel { private long count; private long totalPage; private long currentPage; private long pageSize; private Map<String, String> pageParams; private String requestUrl; // 构造方法、set、get已隐藏 }
pageModel = new PageModel(products.getCount(), products.getTotalPage(), products.getCurrentPage(), products.getPageSize()); pageParams.put("key", keyWord); pageParams.put("bp", bestPrice ? "true" : "false"); pageParams.put("lp", lp); pageParams.put("hp", hp); pageParams.put("cid", categoryId); pageParams.put("prov", providerId); pageParams.put("order", order); pageModel.setPageParams(pageParams); pageModel.setRequestUrl("/list");
当然,page.ftl :
<#if pageModel.totalPage gt 1> <div class="page-nav"> <#if pageModel.currentPage gt 1> <a href="${pageModel.requestUrl}?pageNumber=<#if pageModel.currentPage-1 gt 0>${pageModel.currentPage-1}<#else>1</#if>&pageSize=${pageModel.pageSize}<#list pageModel.pageParams?keys as key>&${key}=${pageModel.pageParams.get(key)}</#list>" class="ib pre"><< Previous</a> </#if> <#if pageModel.currentPage == 1> <span class="cur">1</span> <#else> <a href="${pageModel.requestUrl}?pageNumber=1&pageSize=${pageModel.pageSize}<#list pageModel.pageParams?keys as key>&${key}=${pageModel.pageParams.get(key)}</#list>" class="ib">1</a> </#if> <#if pageModel.currentPage gt 4> <span class="dot">...</span> </#if> <#list 0..4 as index > <#if index == 2 && pageModel.currentPage gt 1 && pageModel.currentPage lt pageModel.totalPage> <span class="cur">${pageModel.currentPage}</span> <#else> <#if (pageModel.currentPage-2+index gt 1) && (pageModel.currentPage-2+index lt pageModel.totalPage) > <a href="${pageModel.requestUrl}?pageNumber=${pageModel.currentPage-2+index}&pageSize=${pageModel.pageSize}<#list pageModel.pageParams?keys as key>&${key}=${pageModel.pageParams.get(key)}</#list>" class="ib">${pageModel.currentPage-2+index}</a> </#if> </#if> </#list> <#if pageModel.totalPage - pageModel.currentPage gte 4> <span class="dot">...</span> </#if> <#if pageModel.currentPage == pageModel.totalPage> <span class="cur">${pageModel.currentPage}</span> <#else> <a href="${pageModel.requestUrl}?pageNumber=${pageModel.totalPage}&pageSize=${pageModel.pageSize}<#list pageModel.pageParams?keys as key>&${key}=${pageModel.pageParams.get(key)}</#list>" class="ib">${pageModel.totalPage}</a> </#if> <#if pageModel.currentPage != pageModel.totalPage> <a href="${pageModel.requestUrl}?pageNumber=<#if pageModel.currentPage+1 gt pageModel.totalPage>${pageModel.totalPage}<#else>${pageModel.currentPage+1}</#if>&pageSize=${pageModel.pageSize}<#list pageModel.pageParams?keys as key>&${key}=${pageModel.pageParams.get(key)}</#list>" class="ib next">Next >></a> </#if> </div> </#if>
只需要维护这一个page就可以了
时间: 2024-11-08 23:05:43