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 成神之路

URL 源码分析

34913
来自专栏cmazxiaoma的架构师之路

Java开发技术大杂烩(三)之电商项目优化、rabbitmq、Git、OSI、VIM、Intellj IDEA、HTTP、JS、Java

2697
来自专栏程序猿DD

分布式消息队列 RocketMQ 源码分析 —— Message 拉取与消费(上)

本文主要基于 RocketMQ 4.0.x 正式版 1、概述 2、ConsumeQueue 结构 3、ConsumeQueue 存储 DefaultMessag...

3088
来自专栏alexqdjay

SpringCloud 之 Zuul 源代码详细笔记

3308
来自专栏余林丰

Java IO(3)非阻塞式输入输出(NIO)

  在上篇《Java IO(2)阻塞式输入输出(BIO)》的末尾谈到了什么是阻塞式输入输出,通过Socket编程对其有了大致了解。现在再重新回顾梳理一下,对于只...

2128
来自专栏dodott的专栏

python--线程同步原语

Threading模块是python3里面的多线程模块,模块内集成了许多的类,其中包括Thread,Condition,Event,Lock,Rlock,Sem...

706
来自专栏微服务生态

跟我学Kafka之Controller控制器详解(一)

Kafka集群中的其中一个Broker会被选举为Controller,主要负责Partition管理和副本状态管理,也会执行类似于重分配Partition之类的...

672
来自专栏潇涧技术专栏

Art of Android Development Reading Notes 2

(1)任何一个操作系统都需要有相应的IPC机制,Linux上可以通过命名通道、共享内存、信号量等来进行进程间通信。 (2)Android系统不仅可以使用Bin...

692
来自专栏Java编程

Java I/O 操作及优化建议

I/O,即 Input/Output(输入/输出) 的简称。就 I/O 而言,概念上有 5 种模型:blocking I/O,nonblocking I/O,I...

4270
来自专栏编码小白

tomcat请求处理分析(五) 请求到响应流

1.1.1.1  请求到响应界面流 请求处理的过程主要是将所有的东西解析成流,转化成对应的http报文,所以在这里我先不关注servlet因为它最终也就是解析成...

3788

扫码关注云+社区