说到分页其实可以研究一下我自己项目里面的分页框架的使用。

下面的笔记来自于孔浩老师的视频教程和我自己的开发实践。

使用Pager-taglib可以帮助我们快速开发分页处理。

下载:pager-taglib-2.0.war
这是我们第1次直观地认识jar包。

直接放到tomcat的webapp目录下面,就可以启动项目,查看帮助文档。
说明:拷贝完之后,可以改一个名字,方便我们写访问的路径。
使用的步骤:
(1)将相应包拷贝到lib目录(pager-taglib.jar),另外一个是源码包,貌似可以不拷贝,我还没试过。
(2)在jsp页面引入相应的分页标签库。引入标签 prefix ,在源代码中 tld文件里面找。(以后学习自定义标签的时候就会用到。)

<%@ taglib prefix="pg" uri="http://jsptags.com/tags/navigation/pager"%>

(3)使用分页标签来处理分页

所有的分页信息都要放置在<pg:pager>中,这个标签中有一些非常重要的属性,可以设置 a.items:表示有多少条记录等,如图。

参考资料:
分页标签:pager-taglib使用指南 - Java - ITeye论坛
http://www.iteye.com/topic/25147

pg:pager
可以设置export,这些导出的东西是存在当前页面的context中即pageContext中,出了当前页面就无效了。
export="curPage=pageNumber",表示为pageNumber设置一个别名。
pageNumber表示当前是第几页
items是int类型的值,表示有多少个元素,一般是totalRecords。
maxPageItems:每页显示最多的记录数。如果该值是15,参数首页的第1条数据的num就是0,第2页的第1条数据的num就是15。
maxIndexPages:分页条目中首尾相减的值,即显示最多的分页数,如设为5的话,则会出现这样的情况 1 2 3 4 5 或 3 4 5 6 7 这样的形式,其实她自带的DEMO都喜欢把页数展现出来排成一排。

------------美丽的分割线------------
pg:first、pg:last、pg:prev、pg:next
可以默认导出pageUrl
------------美丽的分割线------------
pg:prev、pg:next中间的内容是pg:pages
可以导出一个值叫pageNumber,就是中间的那一大堆链接的数字。
也有默认导出pageUrl。

我的使用心得:
(1)导出的值可以通过EL表达式获取,因为这些变量都是存放在 pageContext里面;
(2)可以为导出值起别名;
(3)不要完全依赖老师讲的东西,只要自己理解了,同样也可以实现效果,其实,依赖于帮助文档是需要培养的学习技能;
(4)相关的知识点:ThreadLocal 使用的场合,和过滤器的结合,自定义分页框架 Pager 的 属性。

2015年3月4日自己写的一个示例的代码,帮助理解 pager-taglib 的:

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://jsptags.com/tags/navigation/pager" prefix="pg"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<link href="http://apps.bdimg.com/libs/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container"> <h3>说明: pager 的 items(总数据条数) = 360 , maxPageItems(每页数据条数) = 20 , maxIndexPages 分页栏里面显示的标签的个数。</h3> <pg:pager items="360" maxPageItems="20" maxIndexPages="5" export="currentPage = pageNumber"> <h1>当前第 ${currentPage} 页</h1> <pg:first export="pageUrl,pageNumber,first,last">
<a href="${pageUrl}">首页</a>&nbsp; url 链接:${pageUrl} ,pageNumber = ${pageNumber },first = ${first },last=${last }<br>
</pg:first> <hr> <pg:prev export="pageUrl,pageNumber,first,last">
<a href="${pageUrl}">上一页 </a>&nbsp; url 链接:${pageUrl} ,pageNumber = ${pageNumber },first = ${first },last=${last }<br>
</pg:prev> <hr> <pg:pages export="pageUrl,pageNumber,first,last">
<a href="${pageUrl}">第 ${pageNumber } 页 </a>&nbsp; url 链接:${pageUrl} ,pageNumber = ${pageNumber },first = ${first },last=${last }<br>
</pg:pages> <hr> <pg:next export="pageUrl,pageNumber,first,last">
<a href="${pageUrl}">下一页 </a>&nbsp; url 链接:${pageUrl} ,pageNumber = ${pageNumber },first = ${first },last=${last }<br>
</pg:next> <hr> <pg:last export="pageUrl,pageNumber,first,last">
<a href="${pageUrl}">尾页 </a>&nbsp; url 链接:${pageUrl} ,pageNumber = ${pageNumber },first = ${first },last=${last }<br>
</pg:last> </pg:pager> <script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript" src="http://apps.bdimg.com/libs/bootstrap/3.3.0/js/bootstrap.min.js"></script>
</div>
</body>
</html>

分页框架pager-taglib学习笔记的更多相关文章

  1. 机器学习框架ML.NET学习笔记【4】多元分类之手写数字识别

    一.问题与解决方案 通过多元分类算法进行手写数字识别,手写数字的图片分辨率为8*8的灰度图片.已经预先进行过处理,读取了各像素点的灰度值,并进行了标记. 其中第0列是序号(不参与运算).1-64列是像 ...

  2. 机器学习框架ML.NET学习笔记【3】文本特征分析

    一.要解决的问题 问题:常常一些单位或组织召开会议时需要录入会议记录,我们需要通过机器学习对用户输入的文本内容进行自动评判,合格或不合格.(同样的问题还类似垃圾短信检测.工作日志质量分析等.) 处理思 ...

  3. 机器学习框架ML.NET学习笔记【2】入门之二元分类

    一.准备样本 接上一篇文章提到的问题:根据一个人的身高.体重来判断一个人的身材是否很好.但我手上没有样本数据,只能伪造一批数据了,伪造的数据比较标准,用来学习还是蛮合适的. 下面是我用来伪造数据的代码 ...

  4. 机器学习框架ML.NET学习笔记【1】基本概念与系列文章目录

    一.序言 微软的机器学习框架于2018年5月出了0.1版本,2019年5月发布1.0版本.期间各版本之间差异(包括命名空间.方法等)还是比较大的,随着1.0版发布,应该是趋于稳定了.之前在园子里也看到 ...

  5. 机器学习框架ML.NET学习笔记【5】多元分类之手写数字识别(续)

    一.概述 上一篇文章我们利用ML.NET的多元分类算法实现了一个手写数字识别的例子,这个例子存在一个问题,就是输入的数据是预处理过的,很不直观,这次我们要直接通过图片来进行学习和判断.思路很简单,就是 ...

  6. 机器学习框架ML.NET学习笔记【6】TensorFlow图片分类

    一.概述 通过之前两篇文章的学习,我们应该已经了解了多元分类的工作原理,图片的分类其流程和之前完全一致,其中最核心的问题就是特征的提取,只要完成特征提取,分类算法就很好处理了,具体流程如下: 之前介绍 ...

  7. 机器学习框架ML.NET学习笔记【7】人物图片颜值判断

    一.概述 这次要解决的问题是输入一张照片,输出人物的颜值数据. 学习样本来源于华南理工大学发布的SCUT-FBP5500数据集,数据集包括 5500 人,每人按颜值魅力打分,分值在 1 到 5 分之间 ...

  8. 机器学习框架ML.NET学习笔记【8】目标检测(采用YOLO2模型)

    一.概述 本篇文章介绍通过YOLO模型进行目标识别的应用,原始代码来源于:https://github.com/dotnet/machinelearning-samples 实现的功能是输入一张图片, ...

  9. 机器学习框架ML.NET学习笔记【9】自动学习

    一.概述 本篇我们首先通过回归算法实现一个葡萄酒品质预测的程序,然后通过AutoML的方法再重新实现,通过对比两种实现方式来学习AutoML的应用. 首先数据集来自于竞赛网站kaggle.com的UC ...

  10. Java框架spring Boot学习笔记(六):Spring Boot事务管理

    SpringBoot和Java框架spring 学习笔记(十九):事务管理(注解管理)所讲的类似,使用@Transactional注解便可以轻松实现事务管理.

随机推荐

  1. uni-app-在开启小程序在微信开发工具打开时,打开失败,解决方法:手动打开

    这是我自学ui-app的第一张记录内容,问题都是我在实际开发中遇到的问题 1.微信开发工具打开失败,提示是: 接着我的流程就是打开上面提到的链接,进入页面:https://developers.wei ...

  2. PyTorch笔记之 scatter() 函数

    scatter() 和 scatter_() 的作用是一样的,只不过 scatter() 不会直接修改原来的 Tensor,而 scatter_() 会 PyTorch 中,一般函数加下划线代表直接在 ...

  3. 396. Coins in a Line III

    刷 July-31-2019 换成只能从左边或者右边拿.这个确实和Coins in a Line II有关系. 和上面思路一致,也是MinMax思路,只不过是从左边和右边选,相应对方也是这样. pub ...

  4. [Web 前端] 017 css 浮动

    1. 文档流 指盒子按照 html 标签编写的顺序依次从上到下,从左到右排列 块元素占一行 行内元素在一行之内 从左到右排列 先写的先排列 后写的排在后面 每个盒子都占据自己的位置 2. 浮动的特性 ...

  5. locale报错,显示中文乱码

    locale: Cannot set LC_CTYPE to default locale: No such file or directorylocale: Cannot set LC_MESSAG ...

  6. Nginx环境下设置zblog伪静态方法

    Apache的环境非常简单.可以点击创建 .htaccess就可以了 Nginx环境下设置伪静态,并没有那个一键创建的按钮.只看到了这样的一个提示. 别的环境未测试.宝塔面板中 反正我是没找到. 宝塔 ...

  7. Java方法多态性——方法的重载Overload和重写Override

    方法的重写(Overriding)和重载(Overloading)是java多态性的不同表现,重写是父类与子类之间多态性的一种表现,重载可以理解成多态的具体表现形式. 重写(Override) 重写是 ...

  8. jmeter测试结果jtl字段分析

    1  Bytes Throughput Over Time  每秒传输字节吞吐量,表明Jmeter在测试时,随着时间推移发送和接受的字节数 2  Response Codes per Second  ...

  9. P3191 [HNOI2007]紧急疏散EVACUATE

    传送门 这一题很容易想到网络流 一开始傻逼地模拟整个图每一个时间的情况,显然会爆炸 发现我们只要考虑起点到门之间的距离,不用每一步只走一格 所以直接 $BFS$ 预处理距离然后二分答案,网络流判断即可 ...

  10. Java编码技巧与代码优化

    本文参考整理自https://mp.weixin.qq.com/s/-u6ytFRp-ZAqdLBsMmuDMw 对于在本文中有所疑问的点可以去该文章查看详情 常量&变量 直接赋值常量值, 禁 ...