velocity分页模板

简介: 以前用后台java拼接分页代码,不利于修改。找到一份velocity模板。 1 2 #macro(pager $url $pager) 3 4 #set($FRONT_LEN = 3) 5 #set($BEHIND_LEN = 3) ...

以前用后台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

 





唯有不断学习方能改变! -- Ryan Miao
目录
相关文章
|
开发者 Python 容器
深入理解Python迭代器:迭代机制的核心与应用
本文介绍了Python迭代器的核心概念、工作原理和应用场景。迭代器是遍历容器类型数据结构(如列表、元组、字典和集合)的对象,遵循迭代器协议,具有记忆遍历位置和一次性特点。通过实现迭代器协议,开发者能为自定义类型定义迭代行为,实现高效处理大量数据和与其他迭代工具协同工作。迭代器与可迭代对象的区别在于,可迭代对象实现`__iter__()`方法,返回迭代器,而迭代器实现`__next__()`方法,用于逐个访问元素。理解并运用迭代器能提升Python代码的性能和可读性。
|
缓存 前端开发 容器
window.__POWERED_BY_QIANKUN__
window.__POWERED_BY_QIANKUN__
|
11月前
|
数据库 Python
异步编程不再难!Python asyncio库实战,让你的代码流畅如丝!
在编程中,随着应用复杂度的提升,对并发和异步处理的需求日益增长。Python的asyncio库通过async和await关键字,简化了异步编程,使其变得流畅高效。本文将通过实战示例,介绍异步编程的基本概念、如何使用asyncio编写异步代码以及处理多个异步任务的方法,帮助你掌握异步编程技巧,提高代码性能。
278 4
|
缓存 前端开发 小程序
SpringBoot+uniapp实现网页授权获取用户基本信息
本文详细介绍了微信网页授权登录的实现过程,作者原本计划在一个项目中使用该功能,但由于公众号未认证而放弃。文中分享了如何通过测试公众号实现网页授权并获取用户基本信息,包括配置授权回调域名、获取access_token及刷新等步骤。适合初次接触或希望回顾此流程的读者。此外,还提供了常见错误解决方案,强调了正确配置回调域名的重要性,并提醒避免重复使用已失效的code。通过本文,读者可以更好地理解和应用微信网页授权。
305 0
SpringBoot+uniapp实现网页授权获取用户基本信息
深入浅出python的lambda表达式
今天我们来聊聊Python中一个常用的特性 - lambda表达式。别被这个听起来很高大上的名字吓到,其实它就是个匿名函数的实现机制。
|
SQL 安全 Java
微服务之Springboot整合Oauth2.0 + JWT
微服务之Springboot整合Oauth2.0 + JWT
357 1
|
算法 数据处理 调度
Python中的异步编程与多线程
传统的Python程序在处理I/O密集型任务时常常面临性能瓶颈,而异步编程和多线程是解决这一问题的两种常见方式。本文将介绍Python中异步编程和多线程的基本概念、使用方法以及适用场景,并结合实例进行详细讲解。
257 1
|
XML 前端开发 Java
SpringMVC中<mvc:annotation-driven/>标签原理与实践详解
SpringMVC中<mvc:annotation-driven/>标签原理与实践详解
361 0
|
编解码 监控 算法
RFSoC应用笔记 - RF数据转换器 -04- RFSoC关键配置之RF-ADC内部解析(2.1)
RFSoC应用笔记 - RF数据转换器 -04- RFSoC关键配置之RF-ADC内部解析
1391 0
RFSoC应用笔记 - RF数据转换器 -04- RFSoC关键配置之RF-ADC内部解析(2.1)
|
JavaScript Windows
【异常】window 10 安装 node.js 时遇到 2502 2503 错误解决方法
window 10 安装 node.js 时遇到 2502 2503 错误解决方法
636 0
【异常】window 10 安装 node.js 时遇到 2502 2503 错误解决方法