jfinal中freemarker分页模版指令
博客专区 > SPPan 的博客 > 博客详情
jfinal中freemarker分页模版指令
SPPan 发表于6个月前
jfinal中freemarker分页模版指令
  • 发表于 6个月前
  • 阅读 11
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

一、定义:jfinal中freemarker模版的分页指令定义如下

<#macro paginate pageNumber totalPage url param>
<#assign showPages = 10/>
<ul class="pagination teacms-pagination">
    <#if pageNumber!=1>
        <li><a href="${url}?p=${pageNumber - 1}&${param}">«</a></li>
    </#if>
    <#if pageNumber-showPages/2 gt 0>
        <#assign start = pageNumber-(showPages-1)/2/>
        <#if showPages gt totalPage>
            <#assign start = 1/>
        </#if>
    <#else>
        <#assign start = 1/>
    </#if>
    <#if totalPage gt showPages>
        <#assign end = (start+showPages-1)/>
        <#if end gt totalPage>
            <#assign start = totalPage-showPages+1/>
            <#assign end = totalPage/>
        </#if>
    <#else>
        <#assign end = totalPage/>
    </#if>
    <#assign pages=start..end/>
    <#list pages as page>
        <li <#if pageNumber == page>class="active"</#if>><a  href="${url}?p=${page}&${param}">${page}</a></li>
    </#list>
    <#if pageNumber!=totalPage>
        <li><a href="${url}?p=${pageNumber + 1}&${param}">»</a></li>
    </#if>
</ul>
</#macro>

参数说明:

  1. pageNumber 当前页;
  2. totalPage 总页数;
  3. url 当前页面的URL地址; 4.param 当前页面请求参数;

二、使用

在其他要使用的模版文件中,先用导入指令把分页指令引入,然后直接调用。使用方式有两种,分别如下:

方式一、使用include的方式:

1、引入文件
<#include "/_themes/Default/lib/paginate.ftl">
2、使用分页
<@paginate pageNumber=articlePage.pageNumber totalPage=articlePage.totalPage url=ctx param="searchKeyWord=${searchKeyWord!}"/>

方式二、使用import的方式:

1、引入文件
<#import "/_themes/Default/lib/paginate.ftl" as paginate>
2、使用分页
<@paginate.paginate pageNumber=articlePage.pageNumber totalPage=articlePage.totalPage url=ctx param="searchKeyWord=${searchKeyWord!}"/>

三、效果图

输入图片说明

其实这个分页模版指令并不仅仅适用于jfinal中,理论上与服务端使用的框架没有任何关系,仅仅是实例中使用的服务器分页对象为jfinal提供的Page类,不同的分页支持类在调用的时候不一样而已。

标签: JFinal FreeMarker
共有 人打赏支持
粉丝 6
博文 30
码字总数 15436
×
SPPan
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: