文档章节

Freemarker自定义的分页指令

超龍
 超龍
发布于 2017/09/06 08:57
字数 431
阅读 5
收藏 0
点赞 0
评论 0

分页标签pager.ftl的全部代码:

<#– 自定义的分页指令。
属性说明:
pageNo 当前页号(int类型)
pageSize 每页要显示的记录数(int类型)
toURL 点击分页标签时要跳转到的目标URL(string类型)
recordCount 总记录数(int类型)
使用方式:
<#if recordCount??>
<#import “/pager.ftl” as q>
<@q.pager pageNo=pageNo pageSize=pageSize recordCount=recordCount toURL=”testpager.do”/>
</#if>
–>
<#macro pager pageNo pageSize toURL recordCount>
<#– 定义局部变量pageCount保存总页数 –>
<#assign pageCount=((recordCount + pageSize – 1) / pageSize)?int>
<#if recordCount==0>共0页<#return></#if>

<#– 页号越界处理 –>
<#if (pageNo > pageCount)>
<#assign pageNo=pageCount>
</#if>
<#if (pageNo < 1)>
<#assign pageNo=1>
</#if>
<#– 上一页处理 –>
<#if (pageNo == 1)>
<a class=”disabled threeWord”>上一页</a>
<#else>
<a href=”${toURL}&pageNo=${pageNo – 1}” class=”threeWord”>上一页</a>
</#if>
<#– 如果前面页数过多,显示… –>
<#assign start=1>
<#if (pageNo > 4)>
<#assign start=(pageNo – 1)>
<a href=”${toURL}&pageNo=1″ class=”oneWord”>1</a>
<a href=”${toURL}&pageNo=2″ class=”oneWord”>2</a>&hellip;
</#if>
<#– 显示当前页号和它附近的页号 –>
<#assign end=(pageNo + 1)>
<#if (end > pageCount)>
<#assign end=pageCount>
</#if>
<#list start..end as i>
<#if (pageNo==i)>
<a class=”currentp”>${i}</a>
<#else>
<a href=”${toURL}&pageNo=${i}” class=”oneWord”>${i}</a>
</#if>
</#list>
<#– 如果后面页数过多,显示… –>
<#if (end < pageCount – 2)>
&hellip;
</#if>
<#if (end < pageCount – 1)>
<a href=”${toURL}&pageNo=${pageCount – 1}” class=”oneWord”>${pageCount-1}</a>
</#if>
<#if (end < pageCount)>
<a href=”${toURL}&pageNo=${pageCount}” class=”oneWord”>${pageCount}</a>
</#if>
<#– 下一页处理 –>
<#if (pageNo == pageCount)>
<a class=”disabled threeWord”>下一页</a>
<#else>
<a href=”${toURL}&pageNo=${pageNo + 1}” class=”threeWord”>下一页</a>
<a href=”${toURL}&pageNo=${pageCount}” class=”twoWord”>尾页</a>
</#if>
共<span class=”oneWord”>${pageCount}</span>页,跳到
<input type=”number” name=”gotoPageNo” min=”1″ max = “${pageCount}” maxlength=”4″>&nbsp;页
<button onclick=”javascript:gotopage()”>确定</button>
<script language=”javascript”>
function gotopage(){
var gotoPageNo = $(“input[name=’gotoPageNo’]”).val();
if(” != gotoPageNo){
if(${pageCount} < gotoPageNo){
gotoPageNo = ${pageCount};
}
if(1 > gotoPageNo){
gotoPageNo = 1;
}
location.href = “${toURL}&pageNo=” + gotoPageNo;
}else{
alert(“请输入页码!”);
$(“input[name=’gotoPageNo’]”).val(“”);
$(“input[name=’gotoPageNo’]”).focus();
}
return false;
}
</script>
</#macro>

 

© 著作权归作者所有

共有 人打赏支持
超龍
粉丝 1
博文 30
码字总数 8618
作品 0
朝阳
FreeMarker | 取值篇

第一部分:Spring Boot 集成 FreeMarker 1、 需要这些依赖 2、yml 我喜欢 yml,所以删掉 ,新建 3、配置 在 中添加如下配置 4、Controller - View 5、运行效果 第二部分:取值 1、学过 free...

Wenyi_Feng ⋅ 06/14 ⋅ 0

FreeMarker | 数据篇

变量及运算 1、变量定义和赋值 2、判空 防止为空 FreeMarker 不区分单双引号 逻辑判空 对象、集合 1、对象 2、集合 3、Map 可以根据key直接取值可以获取所有key然后遍历也可以直接遍历值 资料...

Wenyi_Feng ⋅ 06/15 ⋅ 0

SpringBoot笔记(五)模板引擎thymeleaf和freemarker

SpringBoot本来不应该关注这块,但是既然都学了,就看看吧 SpringBoot属于前后端分离的微服务框架,默认的模板引擎是thymeleaf,虽然也能支持JSP,但是比较麻烦,另外freemarker也是SpringB...

世外大帝 ⋅ 04/25 ⋅ 0

基于 JavaFX8 的图形界面 Spring 代码生成器 - Spring-generator

Spring-generator 是基于 javafx8 开发的图形界面 Spring 代码生成器,使用 Apache FreeMarker 作为代码文件的模板,用户可以一键将数据库中的表生成为任意风格的 .java 代码文件(比如经典的...

Mirren ⋅ 06/19 ⋅ 0

ShenzhenMirren/Spring-generator

基本介绍 官方QQ交流群号:519714660; Spring-generator是基于javafx8开发的图形界面Spring代码生成器,使用 Apache FreeMarker 作为代码文件的模板,用户可以一键将数据库中的表生成为任意风格...

ShenzhenMirren ⋅ 06/19 ⋅ 0

Spring-generator 1.0.0 版正式发布,Spring 代码生成器

Spring-generator是基于javafx8开发的图形界面Spring代码生成器,使用 Apache FreeMarker作为代码文件的模板,用户可以一键将数据库中的表生成为任意风格的.java代码文件(比如经典的三层模型)...

Mirren ⋅ 06/19 ⋅ 0

SpringBoot集成Thymeleaf

上一篇给大家介绍了springboot整合freemarker,这一片来继续为大家介绍一种模板thymeleaf。 首先在项目中增添thymeleaf依赖spring-boot-starter-thymeleaf 同时为了解决html严格校验报错的问...

dalaoyang ⋅ 03/15 ⋅ 0

SpringBoot集成FreeMarker

给大家简单介绍一下springboot 集成FreeMarker 过程很简单,5分钟即可。 首先在项目中增添依赖spring-boot-starter-freemarker pom文件代码如下: 然后创建controller,代码如下: applicat...

dalaoyang ⋅ 03/14 ⋅ 0

Freemarker介绍、使用并与Spring整合

一、什么是Freemarker 1.1 介绍 是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP。它不仅可以用作表现层的实现技术,而...

yuanlaijike ⋅ 04/16 ⋅ 0

JAVA 极速WEB+ORM框架 - JFinal

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

JFinal ⋅ 2012/03/18 ⋅ 496

没有更多内容

加载失败,请刷新页面

加载更多

下一页

个人博客的运营模式能否学习TMALL天猫质量为上?

心情随笔|个人博客的运营模式能否学习TMALL天猫质量为上? 中国的互联网已经发展了很多年了,记得在十年前,个人博客十分流行,大量的人都在写博客,而且质量还不错,很多高质量的文章都是在...

原创小博客 ⋅ 53分钟前 ⋅ 0

JavaScript零基础入门——(十一)JavaScript的DOM操作

JavaScript零基础入门——(十一)JavaScript的DOM操作 大家好,欢迎回到我们的JavaScript零基础入门。最近有些同学问我说,我讲的的比书上的精简不少。其实呢,我主要讲的是我在开发中经常会...

JandenMa ⋅ 今天 ⋅ 0

volatile和synchronized的区别

volatile和synchronized的区别 在讲这个之前需要先了解下JMM(Java memory Model :java内存模型):并发过程中如何处理可见性、原子性、有序性的问题--建立JMM模型 详情请看:https://baike.b...

MarinJ_Shao ⋅ 今天 ⋅ 0

深入分析Kubernetes Critical Pod(一)

Author: xidianwangtao@gmail.com 摘要:大家在部署Kubernetes集群AddOn组件的时候,经常会看到Annotation scheduler.alpha.kubernetes.io/critical-pod"="",以表示这是一个关键服务,那你知...

WaltonWang ⋅ 今天 ⋅ 0

原子性 - synchronized关键词

原子性概念 原子性提供了程序的互斥操作,同一时刻只能有一个线程能对某块代码进行操作。 原子性的实现方式 在jdk中,原子性的实现方式主要分为: synchronized:关键词,它依赖于JVM,保证了同...

dotleo ⋅ 今天 ⋅ 0

【2018.06.22学习笔记】【linux高级知识 14.4-15.3】

14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp

lgsxp ⋅ 今天 ⋅ 0

JeeSite 4.0 功能权限管理基础(Shiro)

Shiro是Apache的一个开源框架,是一个权限管理的框架,实现用户认证、用户授权等。 只要有用户参与一般都要有权限管理,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户...

ThinkGem ⋅ 昨天 ⋅ 0

python f-string 字符串格式化

主要内容 从Python 3.6开始,f-string是格式化字符串的一种很好的新方法。与其他格式化方式相比,它们不仅更易读,更简洁,不易出错,而且速度更快! 在本文的最后,您将了解如何以及为什么今...

阿豪boy ⋅ 昨天 ⋅ 0

Python实现自动登录站点

如果我们想要实现自动登录,那么我们就需要能够驱动浏览器(比如谷歌浏览器)来实现操作,ChromeDriver 刚好能够帮助我们这一点(非谷歌浏览器的驱动有所不同)。 一、确认软件版本 首先我们...

blackfoxya ⋅ 昨天 ⋅ 0

线性回归原理和实现基本认识

一:介绍 定义:线性回归在假设特证满足线性关系,根据给定的训练数据训练一个模型,并用此模型进行预测。为了了解这个定义,我们先举个简单的例子;我们假设一个线性方程 Y=2x+1, x变量为商...

wangxuwei ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部