velocity分页模板

以前用后台java拼接分页代码,不利于修改。找到一份velocity模板。

 1 <!-- 分页模板 -->    
 2 #macro(pager $url $pager)
 3 <url class="page">
 4         #set($FRONT_LEN = 3)
 5     #set($BEHIND_LEN = 3) 
 6     #set($PAGER_LEN = 7)
 7     #set($last = $!{pager.pageNumber} - 1)
 8     #set($next = $!{pager.pageNumber} + 1)
 9      <!--设置页码列表开始和结束  -->
10      <!--如果总页数<=展示长度  -->
11     #if($!{pager.totalPage} <= $!{PAGER_LEN})
12             #set($header = 1)
13             #set($ender = $!{pager.totalPage})
14     <!--如果总页数>展示长度  -->      
15      #else
16                  <!-- 当前页 < 展示长度-->
17                   #if($!{pager.pageNumber} < $!{PAGER_LEN})
18                       #set($header = 1)
19                     #set($ender = $PAGER_LEN)
20                 <!--当前页 >= 展示长度 && 定尾部,再定头部  -->
21                   #else
22                            #set($ender = $!{pager.pageNumber} + $!{BEHIND_LEN})
23                            #if($!ender > $!{pager.totalPage})
24                                #set($ender = $!{pager.totalPage})
25                            #end
26                            #set($header = $!ender - $!{PAGER_LEN})
27                 #end  
28      #end
29     <li #if($!{pager.pageNumber} == 1) class="disabled"#end>
30           <a href="$!{url}?page=$!last">上一页</a>
31      </li>
32     <!-- 页码列表 -->
33       #foreach($p in [$!{header}..$!{ender}])
34         <li #if($!{pager.pageNumber} == $!{p}) class="active" #end>
35             <a href="$!{url}?page=$!{p}">$!{p}</a>
36         </li>
37       #end
38     <li #if($!{pager.pageNumber} == $!{pager.totalPage}) class="disabled" #end>
39         <a href="$!{url}?page=$!next">下一页</a>
40     </li>
41     <li>
42         每页 $!{pager.pageSize} 条, 共 $!{pager.totalRow} 条, 共$!{pager.totalPage}页 
43         <input type="text" placeholder="1" id="tzy"> 
44         <a href="javascript:var tem=document.getElementById('tzy').value;
45                             var temhref='$!{url}?page=tem';
46                             window.location.href=temhref;">
47             跳转
48         </a>
49     </li>
50 </url>
51 #end

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java架构师学习

Spring面试底层原理的那些问题,你是不是真的懂Spring?

2054
来自专栏码匠的流水账

聊聊rocketmq的RollingFileAppender

org/apache/rocketmq/logging/inner/LoggingBuilder.java

483
来自专栏微信公众号:Java团长

Spring中定时器实现

在Spring 中使用Quartz,本文介绍Spring3.0以后自主开发的定时任务工具,spring task,可以将它比作一个轻量级的Quartz,而且使用...

874
来自专栏杨建荣的学习笔记

生产环境sql语句调优实战第五篇(r2笔记41天)

今天在生产环境中发现一条sql语句尽管走了主键索引,但是查询还是很慢。 sql语句类似下面的形式: SELECT /*+ index (bl1_cyc_paye...

3358
来自专栏小灰灰

Spring之动态注册bean

如我之前做个的一个支持扫表的基础平台,使用者只需要添加基础配置 + Groovy任务,就可以丢到这个平台上面来运行了,而这个基础平台是一直都在运行的,所以在新来...

923
来自专栏Hadoop实操

使用JDBC向Kudu表插入中文字符-cast的秘密

使用Impala JDBC向Kudu表中插入中文字符,插入的中文字符串乱码,中文字符串被截断。

46412
来自专栏后端之路

Spring的cache实现一

spring3.1之后引入了新的注解EnableTransactionManagement

313
来自专栏用户2442861的专栏

25个经典的Spring面试问答

本人收集了一些在大家在面试时被经常问及的关于Spring的主要问题,这些问题有可能在你下次面试时就会被问到。对于本文中未提及的Spring其他模块,我会单独分...

422
来自专栏码匠的流水账

聊聊hikari连接池的maxLifetime属性及evict操作

用来标记连接池中的连接不可用,这样在borrow连接的时候,如果是标记evict的,则会继续获取连接

492
来自专栏一个会写诗的程序员的博客

《Spring Boot极简教程》 第6章 Springboot数据库集成

在SpringBoot集成MyBatis时,我们将去掉和Mybatis配置相关的xml文件配置方式,用注解和属性配置来代替这些繁杂的配置。

541

扫描关注云+社区