文档章节

jfinal中freemarker分页模版指令

SPPan
 SPPan
发布于 2017/06/02 10:38
字数 373
阅读 25
收藏 0
点赞 0
评论 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
粉丝 10
博文 29
码字总数 15103
作品 0
成都
程序员
使用Freesql简单地实现多条件查询

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

jse7en
2014/03/23
0
4
Jfinal中FreemarkerRender小改进

在与朋友讨论中,说到jf中的FreemarkerRender不能读到jar中的文件,查看jf源码是没有加入Freemarker的ClassTemplateLoder.读不到jar包中的静态文件,尝试着自己改进了下这个render。 把jfina...

kyle1970
2013/01/03
0
5
JAVA 极速WEB+ORM框架 - JFinal

JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python、p...

JFinal
2012/03/18
0
496
JFinal使用Freemarker作为展示层中的国际化配置使用

最近在使用jfinal,如果使用jsp作为展现层的文件,使用jfinal的国际化很简单,直接 I18N.getText("key")就可以了,如果使用freemarker就没这么简单了,不能所有的国际化文字都通过 Controll...

hulang
2014/04/27
0
0
JFinal 源码导读第四天(3) initRender

1.接上面的文章,initRender(); private void initRender() {RenderFactory renderFactory = RenderFactory.me();renderFactory.init(constants, servletContext);} 2.renderFactory.init(con......

skyim
2013/06/18
0
0
jfinal下超爽的freemarker自定义标签,web开发的利器

为什么采用freemarker? 1、模板技术,不依附于语言和框架,前端和后端解耦,便于分工协作,更好的协同。 2、页面相应速度快 3、前端非常的灵活,采用自定义标签可以在不更改后端的基础上很容...

菜根乱谭
2012/11/27
0
16
JFinal 整合 Shiro 补充Realm类和数据库

JFinal 整合 Shiro原文: http://my.oschina.net/smile622/blog/135098 在此基础上 补充数据库和MyShiroRealm.java users表 SET FOREIGNKEYCHECKS=0; -- Table structure for DROP TABLE IF E......

stu51
2013/10/14
0
5
springrain vs jfianl的开发对比

废话不说,上实例 使用 jfinal最新版本 1.4 的 blog demo. 如果使用springrain 该怎么做呢? 总共分三步: 1.编写blog.sql 建表语句,花费2分钟左右时间 2.执行代码生成器,gen blog 并把生成文件...

光石头
2013/09/07
0
21
【CF 应用开发大赛】个人博客系统

应用名称:个人博客系统 应用URL地址:http://abap.cloudfoundry.com/ 应用说明及使用场景: 用于搭建个人博客。 应用所使用的技术及软件: 使用 jFinal 框架, Mysql数据库,ehcache缓存,f...

Mike_Liu
2012/12/25
0
43
关于Jfinal中ContextPathHandler的作用

关于DEMO怎么?嗯 置于这个问题么,你有三种方式,第一,你来OSC上找,第二,搜索Jfinal群,不过这两个方式指向同一个位置,JFinal的官方站点。上面有各种版本的源码,因为开源,所以你能够改...

天蓬小猪
2014/05/23
0
2

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spark Streaming + Kafka Integration Guide

The Spark Streaming integration for Kafka 0.10 is similar in design to the 0.8 Direct Stream approach. It provides simple parallelism, 1:1 correspondence between Kafka partition......

刺猬一号
10分钟前
0
0
数据结构与算法2

一个数组的例子,实现查找,显示和删除的功能。 在这个数组中存储的数据类型是long型,使用long型为的是表明这是数据,而int型被用来表示下标。通常数据结构存储的数据项包含有好几个字段,所...

沉迷于编程的小菜菜
21分钟前
0
0
Python3 基于 requests 批量下载图片

Python3 基于 requests 批量下载图片 import requestsheaders = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8','Accept-Encod......

leeyi
22分钟前
0
0
java获取当前时间所在一周的周一和周日日期

/** * 当前时间所在一周的周一和周日时间 * @param time 当前时间 * @return */ public static Map getWeekDate(String time) { Map map = new HashedMap(); SimpleDateFormat sdf = new Si......

小弱鸡
54分钟前
0
0
Redis数据的导出和导入(dump和load方式)

网上有些文章已经不再适用,本人也是踩了些坑,在此记录下。 迁移redis数据一般有如下3种方式: 第三方工具redis-dump,redis-load aof机制,需要开启aof功能 rdb存储机制 这里介绍第一种方式...

iplusx
59分钟前
2
0
ElasticSearch 高亮显示大文档搜索结果

2016年12月,我们开始研究Ambar——一个文档搜索系统。Ambar使用ElasticSearch作为核心搜索引擎。 在Ambar开发的过程中,我们处理了很多与ES相关的问题,我们想分享我们得到的宝贵经验。让我...

九州暮云
今天
1
0
Python 使用 pywifi 模块 破解wifi密码

git https://github.com/awkman/pywifi 常见常量 from pywifi import const# Define interface status.IFACE_DISCONNECTED = 0IFACE_SCANNING = 1IFACE_INACTIVE = 2IFACE_CONNEC......

阿豪boy
今天
2
0
phpstorm使用Iedis

phpstorm的redis插件Iedis是真好用 看了网上挺多的文章,但是由于我系统还是ubuntu,就有点尴尬了,现在破解之后,留个笔记,即使自己之后有需要也可以很快翻阅 先下载资源 资源下载 zip压缩...

贤郎--均灵
今天
0
0
第三章 spring-bean之FactoryBeanRegistrySupport(4)

前言 从FactoryBeanRegistrySupport类的名字可以看出FactoryBeanRegistrySupport负责FactoryBean的注册与支持。如果想知道FactoryBean相关的资料,请阅读spring-bean中关于FactoryBean的解读...

鸟菜啊
今天
0
0
CentOS “Destination Host Unreachable”问题解决办法

挑战极速安装CentOS时遇到局域网主机不能通信的情况: [root@zjd network-scripts]# ping 8.8.8.8PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.64 bytes from 8.8.8.8: icmp_seq=1 ttl=......

wffger
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部