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

 <!-- 分页模板 -->
#macro(pager $url $pager)
<url class="page">
#set($FRONT_LEN = 3)
#set($BEHIND_LEN = 3)
#set($PAGER_LEN = 7)
#set($last = $!{pager.pageNumber} - 1)
#set($next = $!{pager.pageNumber} + 1)
<!--设置页码列表开始和结束 -->
<!--如果总页数<=展示长度 -->
#if($!{pager.totalPage} <= $!{PAGER_LEN})
#set($header = 1)
#set($ender = $!{pager.totalPage})
<!--如果总页数>展示长度 -->
#else
<!-- 当前页 < 展示长度-->
#if($!{pager.pageNumber} < $!{PAGER_LEN})
#set($header = 1)
#set($ender = $PAGER_LEN)
<!--当前页 >= 展示长度 && 定尾部,再定头部 -->
#else
#set($ender = $!{pager.pageNumber} + $!{BEHIND_LEN})
#if($!ender > $!{pager.totalPage})
#set($ender = $!{pager.totalPage})
#end
#set($header = $!ender - $!{PAGER_LEN})
#end
#end
<li #if($!{pager.pageNumber} == 1) class="disabled"#end>
<a href="$!{url}?page=$!last">上一页</a>
</li>
<!-- 页码列表 -->
#foreach($p in [$!{header}..$!{ender}])
<li #if($!{pager.pageNumber} == $!{p}) class="active" #end>
<a href="$!{url}?page=$!{p}">$!{p}</a>
</li>
#end
<li #if($!{pager.pageNumber} == $!{pager.totalPage}) class="disabled" #end>
<a href="$!{url}?page=$!next">下一页</a>
</li>
<li>
每页 $!{pager.pageSize} 条, 共 $!{pager.totalRow} 条, 共$!{pager.totalPage}页
<input type="text" placeholder="1" id="tzy">
<a href="javascript:var tem=document.getElementById('tzy').value;
var temhref='$!{url}?page=tem';
window.location.href=temhref;">
跳转
</a>
</li>
</url>
#end

velocity分页模板的更多相关文章

  1. 【Java EE 学习 57】【酒店会员管理系统之分页模板书写】

    分页一直是一个比较麻烦的问题,特别是在我做的这个系统中更是有大量的分页,为了应对该问题,特地写了一个模板以方便代码重用,该模板包括后台分页的模板.前端显示的模板两部分. 一.分页分析 分页需要三种类型 ...

  2. Oracle数据库的SQL分页模板

    在系统开发过程中,需要对数据进行查询,大部分情况下从数据库中查询的数据量比较大,在系统页面无法全部显示,而且查询全部的数据会影响系统的反应速度,需要对所查询的数据进行分页的查询操作,以此减轻系统的压力 ...

  3. smarty分页模板(用模板语法写分页)

    分页是一个我们经常要用到的.比较基本的小功能,你可以通过定义一个方法或类来对它进行封装.重用.而本文则是通过利用smarty独有的语法,以模版的方式进行封装,从而达到同样的目的. 下面开始具体实现步骤 ...

  4. 动动手,写个knockout的分页模板

    最近一个项目用ASP.NET + knockout开发,很多列表页面都带分页,于是就有了写一个公共的分页模板的想法. 先把template写好: <script type="text/ ...

  5. SQL Server分页模板

    SQL Server分页模板 WITH T AS ( SELECT ROW_NUMBER() OVER(ORDER BY AlbumId ) AS row_number, * FROM (SELECT ...

  6. ThinkPHP自定义分页模板

    TpPageHelper.php <?php namespace tool; use think\Paginator; class TpPageHelper extends Paginator ...

  7. velocity(vm)模板引擎基本语法

    for循环 #foreach($acc in $!{param.tools}) #set($count = $count + 1) <li custom-data="$!{acc.or ...

  8. js分页模板

    /** *参数说明: *currentPage:当前页数 *countPage:总页数 *changeMethod:执行java后台代码的js函数,即是改变分页数据的js函数 */ function  ...

  9. Jsp刷新分页模板,很全

      1.用来实现上一页下一页,我直接写到查询页面上 <%--page的分页--%> <style type="text/css"> a { color: # ...

随机推荐

  1. iOS直播直播,头都大了

    随着直播市场的火热,市场大军都逐步进入直播市场 ,腾讯旗下的NOW直播也不例外 先说说直播设计底层 一 .流媒体 1 - 伪流媒体 1.1 扫盲:边下载边播放 1.2 伪流媒体:视频不是实时播放的,先 ...

  2. 备库Seconds_Behind_Master的计算

    背景 在mysql主备环境下,主备同步过程如下,主库更新产生binlog, 备库io线程拉取主库binlog生成relay log.备库sql线程执行relay log从而保持和主库同步. 理论上主库 ...

  3. libnode 0.4.0 发布,C++ 语言版的 Node.js

    libnode 0.4.0 支持 Windows ,提升了性能,libuv 更新到 0.10.17 版本,libj 更新到 0.8.2 版本. libnode 是 C++ 语言版的 Node.js,和 ...

  4. 我的ORM之十-- MyOql实现原理

    我的ORM索引 ORM的功能 两个基本功能 翻译:对象查询转化为SQL 映射:把查询结果转化为实体 更多功能 如果仅仅实现这两个功能,那这两个是可以独立的,实现起来也就很简单了.但MyOql的目标还有 ...

  5. 作业七:团队项目——Alpha版本冲刺阶段-12

    今日编写代码如下: class ChessRule { /**卒子的移动规则*/ public void armsRule(int Man,JLabel play,MouseEvent me){ // ...

  6. SSTable 介绍(一)

    如果说Protocol Buffers是Google内部表示独立数据记录的单元,那么排序的字符串表--Sorted String Table(SSTable)--是存储,处理和交换数据集的最流行的输出 ...

  7. Hello Mybatis 02 mybatis generator

    接着上一篇文章通过Mybatis完成了一个User的CRUD的功能之后,这篇开始还需要建立一个Blog类,这样就可以模拟一个简单的微博平台的数据库了. 数据库准备 首先我们,还是需要在数据库中新建一个 ...

  8. css计数器详解

    什么是css计数器 体验更佳排版请戳原文链接:http://blog.liuxianan.com/css-counters.html 就是采用css给一些html元素自动生成编号,比如类似1.3.2这 ...

  9. 【译】用jQuery 处理XML-- jQuery与XML

    用jQuery 处理XML--写在前面的话 用jQuery 处理XML-- DOM(文本对象模型)简介 用jQuery 处理XML--浏览器中的XML与JavaScript 用jQuery 处理XML ...

  10. <HTML5和CSS3响应式WEB设计指南>译者序

    "不是我不明白,这世界变化快."崔健的这首歌使用在互联网领域最合适不过.只短短数年的功夫,互联网的浪潮还没过去,移动互联网的时代已经来临.人们已经习惯将越来越多的时间花在各种移动设 ...