码迷,mamicode.com
首页 > 其他好文 > 详细

今天把分页分离出来了,真TMD爽啊,哈哈哈

时间:2015-05-09 16:43:00      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:

其实很普通的功能,今天把分页分离出来,放到一个 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">&lt;&lt; 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 &gt;&gt;</a>
   </#if>
</div>
</#if>

只需要维护这一个page就可以了


今天把分页分离出来了,真TMD爽啊,哈哈哈

标签:

原文地址:http://my.oschina.net/cwzhang/blog/412758

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!