文档章节

jfinal中freemarker分页模版指令

SPPan
 SPPan
发布于 2017/06/02 10:38
字数 373
阅读 32
收藏 0

一、定义: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类,不同的分页支持类在调用的时候不一样而已。

© 著作权归作者所有

共有 人打赏支持
SPPan
粉丝 11
博文 29
码字总数 15103
作品 0
成都
程序员
私信 提问
使用Freesql简单地实现多条件查询

在实际应用中我们经常会遇到多条件查询的情景,以往的解决方案是在java中对各个参数值进行非空之类的判断,再进行sql及参数的拼凑。 其实还有更简单的解决方法的--用Freemarker。Freemarker可...

jse7en
2014/03/23
0
4
关于JFinal 中Freemarker 使用Import 标签疑问

@jfinal 我现在有个项目页面以前用到freemarker 然后我移植到Jfinl框架中,Freemarker中解析有Import标签页面出错。这应该非Jfinal问题,我怀疑Jfinal引入Freemarker时应该需要设置参数,貌似...

郭恩洲_OSC博客
2014/08/28
1K
3
JFinal中freemarker如何得到I18N信息?

在JFinal demo中做I18N的实验, 在BlogController中I18N.getText("welcome.msg");已经能得到welcome.msg信息了, 请问怎么在freemarker模版中得到"welcome.msg"信息。还有是在JFinal中如何实......

尚能饭否
2012/12/23
1K
3
在非controller中应该如使用CaptchaRender?

@JFinal 你好,想跟你请教个问题:项目使用JFINAL 集成shiro,验证码使用了CaptchaRender获取,但是在shiro的shirodbrealm中无法使用CaptchaRender validate方法验证。像这种情况,在非contr...

shooter118
2013/07/06
302
2
jfinal 项目使用freemarker 页面map集合迭代问题

jfinal 项目使用freemarker 页面map集合迭代问题 控制台一直报: 网上说命名和freemarker命名冲突,替换了好几种不存在这种情况,折腾有几天了 麻烦大牛给看看 页面freemarker迭代情况: @j...

郭恩洲_OSC博客
2013/08/30
2.7K
4

没有更多内容

加载失败,请刷新页面

加载更多

Spring Cloud Greenwich 新特性和F升级分享

2019.01.23 期待已久的Spring Cloud Greenwich 发布了release版本,作为我们团队也第一时间把RC版本替换为release,以下为总结,希望对你使用Spring Cloud Greenwich 有所帮助 Greenwich 只支...

冷冷gg
56分钟前
46
1
精读《论语》读后感作文3600字

精读《论语》读后感作文3600字: 学而篇第一:子曰:“学而时习之,不亦说乎?有朋友自远方来,不亦悦乎?人不知,而不愠,不亦君子乎? 朱熹解:即学而又时时习之,则学者熟,而衷心喜悦,其...

原创小博客
今天
0
0
CPU内存结构

开局一张图 由于CPU频率太快了,为解决直接读取内存的数据上的延迟,在CPU和内存之间,存在3级缓存。 CPU在解决和缓存不一致上采用两种方式: 缓存一致性协议 总线锁机制 CPU CPU的一个时钟周...

春哥大魔王的博客
今天
2
0
记一次centos 7内核升级事故

情景 公司做等保3测评,在进行系统漏洞检测时发现内核存在漏洞,需要进行升级。 名称 版本 升级前内核 CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core) 升级后内核 CentOS Linux (3.10.0-957...

阿dai
今天
9
0
PowerDesigner操作

1.去掉生成DDL里的注释 Database -> Edit Current DBMS -> Script -> Syntax -> BlockComment,去掉BlockComment里面的value内容。...

了凡川
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部