前端页面组件开发工具Pager-taglib

一、Pager-taglib简介

1、Pager-taglib

​ 支持多种风格的分页显示。它是一个Jsp标签库,为在JSP上显示分页信息而设计的一套标签,通过这些标签的不同的组合,会形成多种不一样的分页页面,风格各异,她自带的DEMO就有八种左右的分页风格(在pager-taglib-2.0.war包下的WEB-INF\jsp 中),包括Google的分页风格。而需要订制自已的风格的分页页面也非常简单。

2、分页方式有两种:

一种是:页面分页,即从Action或者其他控制器中得到一个List,在页面上 通过pg:item进行自动分页。适合查询结果不大的情况。
第二种是:数据库分页,即通过把 pageSize,pageNo两参数传给后台进行数据库分页。 适合大量查询。

二、Pager-taglib标签详解

1、pg:pager标签分页时我们重点设置的就是这个标签):这个标签用来设置分页的总体参数,重要参数说明:
**url:**分页的链接根地址,pager标签会在这个链接上附加分页参数pager.offset,后台可根据这个参数分页, 也可自行在URL上添加参数。

​ **items:**总记录数,pager标签正是根据这个值来计算分页参数的。在页面分页时,此参数可以不写,后台会自动计算出分页参数。如果你写的话将以你写的为准。

​ **maxPageItems:**每页显示的行数,也即每页显示的记录数,默认为10这里如果将它误写成maxItems则就还会显示,但是偏移量一定为10页)。 不写此标签,你会发现分页的条数在小于10的时候显示不出来一些数据。当大于10的时候则会出现重复的记录! 如:maxPageItems = “4”

对maxPageItems测试

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="pg" uri="http://jsptags.com/tags/navigation/pager" %>
<html>
<head><title>Title</title>
</head>
<body>
<pg:pager url="/pagTaglib/page2.jsp" maxIndexPages="10" export="currentPageNumber=pageNumber"items="1000" maxPageItems="5"><pg:first><a href="${pageUrl}">首页</a></pg:first><pg:prev><a href="${pageUrl}">上页</a></pg:prev><pg:pages><c:if test="${pageNumber eq currentPageNumber}">${pageNumber}</c:if><c:if test="${not (pageNumber eq currentPageNumber)}"><a href="${pageUrl}">${pageNumber}</a></c:if></pg:pages><pg:next><a href="${pageUrl}">下页</a></pg:next><pg:last><a href="${pageUrl}">末页</a></pg:last>
</pg:pager>
</body>
</html>

测试结果:

对maxItems(最大记录数)测试

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="pg" uri="http://jsptags.com/tags/navigation/pager" %>
<html>
<head><title>Title</title>
</head>
<body>
<pg:pager url="/pagTaglib/page3.jsp" maxIndexPages="10" export="currentPageNumber=pageNumber"items="1000" maxItems="100"><pg:first><a href="${pageUrl}">首页</a></pg:first><pg:prev><a href="${pageUrl}">上页</a></pg:prev><pg:pages><c:if test="${pageNumber eq currentPageNumber}">${pageNumber}</c:if><c:if test="${not (pageNumber eq currentPageNumber)}"><a href="${pageUrl}">${pageNumber}</a></c:if></pg:pages><pg:next><a href="${pageUrl}">下页</a></pg:next><pg:last><a href="${pageUrl}">末页</a></pg:last>
</pg:pager>
</body>
</html>

测试结果:

maxPageItems和maxItems放在一起测试:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="pg" uri="http://jsptags.com/tags/navigation/pager" %>
<html>
<head><title>Title</title>
</head>
<body>
<pg:pager url="/pagTaglib/page3.jsp" maxIndexPages="4" export="currentPageNumber=pageNumber"items="50" maxPageItems="7"><pg:first><a href="${pageUrl}">首页</a></pg:first><pg:prev><a href="${pageUrl}">上页</a></pg:prev><pg:pages><c:if test="${pageNumber eq currentPageNumber}">${pageNumber}</c:if><c:if test="${not (pageNumber eq currentPageNumber)}"><a href="${pageUrl}">${pageNumber}</a></c:if></pg:pages><pg:next><a href="${pageUrl}">下页</a></pg:next><pg:last><a href="${pageUrl}">末页</a></pg:last>
</pg:pager>
</body>
</html>

测试结果:

综上测试结果对比结论:maxItems对于这种页面显示没有任何作用!!!

​ **maxIndexPages:**在循环输出页码的时候,最大输出多少个页码(也就是最多显示多少个页码),默认是10.如:maxIndexPages=“3”

​ **export:**这个属性比较重要,这个属性是让标签给你暴露什么变量,当然这些变量是有选择的,如在Pager标签里,可以暴露出来的变量有 pageOffset及pageNumber,即页码偏移量及页码。通过这两个变量名,可以在Jsp或servlet(或者Action)里面从Request里获得。Export属性接受的值还有表达式,如currentPage=pageNumber表示,把pageNumber的值暴露出来,并赋给一个叫CurrentPage(自定义的)的变量,这个变量将被保存到Request中,在Jsp或servlet中可以得到。通常设为:export=“pageOffset,currentPageNumber=pageNumber”.这里使用currentPageNumber=pageNumber的原因是pg:pages(不是page)标签输出用于存放每次循环的页码号的变量也叫pageNumber。

​ **scope:**将export暴漏出变量,设置器存储范围。取值为:request、session等。默认保存在request范围内。

前端页面组件开发工具Pager-taglib相关推荐

  1. 2022 前端常用的开发工具、组件库等等~持续整理,待你分享~

    2022 前端常用的开发工具.组件库等等持续整理,待你分享 小伙伴们!我这里整理了一些对前端开发有帮助的工具.库.网站等.对于这些东西有些是我自己用过的,有些是听过的,但是也有些是没听过也没用过的.只 ...

  2. 前端页面可视化设计工具

    (3条消息) [html]前端页面可视化设计工具总结_XYZ-CSDN博客_html可视化布局工具

  3. HTML——前端实时可视化开发工具

    前端实时可视化开发工具:liveStyle.liveReload.Broswer-Sync. 一.liveStyle 如图,liveStyle支持三种文件. 需要安装两个插件:浏览器的插件,subli ...

  4. 学成在线--2.CMS前端页面查询开发

    文章目录 0.思路总结 1.创建CMS模块的目录架构 2.创建页面并配置路由 1)在page目录新建page_list.vue,扩展名为.vue. 2)在cms的router下配置路由. 3)在bas ...

  5. 推荐25款很棒的 HTML5 前端框架和开发工具【下篇】

    快速,安全,响应式,互动和美丽,这些优点吸引更多的 Web 开发人员使用 HTML5.HTML5 有许多新的特性功能,允许开发人员和设计师创建应用程序和网站,带给用户桌面应用程序的速度,性能和体验. ...

  6. 前端常用的开发工具(推荐)

    一.Visual Studio Code 下载地址:https://code.visualstudio.com/ 功能介绍: 微软在2015年4月30日Build 开发者大会上正式宣布了 Visual ...

  7. 好程序员HTML5大前端分享常用开发工具大集合

    HTML5作为当前最为流行的编程语言,广为适用.语言的使用人数急剧增长,更多地开发人员使用这种语言来创建各种内容并放到互联网上.随着每一个新版本的发布,HTML通过更好的功能和技术渐渐占据了制高点.接 ...

  8. rgb颜色查询工具_Web前端页面重构之工具篇(Photoshop)

    一.说在前面的话 1.1 职责:拒绝"图片仅供参考请以实物为准" 团队的协作流程一般分为以下几个阶段: 专业的设计师做设计 由前端工程师切图重构还原成浏览器能渲染的页面,再开发功能 ...

  9. 【html】前端页面可视化设计工具总结

    在进行网站设计时,我们可以通过借助现有的html模板,在适当地修改后,变为适合需求的web界面.因此,对于一个后端的程序员来说,找到一个合适的html模板就变得非常重要. 目录 1. 源码之家 2. ...

最新文章

  1. java多线程做一件事_关于Java的十件事
  2. ofo悄然搬离中关村,联合创始人出走,千万用户的押金还能退回来吗?
  3. SAP License:发票校验抬头税码选择清单
  4. 目标检测——初始学习率设置的学习笔记
  5. Encoding非常用编码转换
  6. 如何在 iPhone、iPad 和 Mac 上通过 iMessage 共享照片和视频?
  7. 【C++】一次遇到的需要加入const属性的情况
  8. 嵌入式工程师是青春饭吗?越老越吃香吗?
  9. C语言输入一个数,看它能否被3和5同时整除
  10. 我的世界服务器连接协议,go-mc: Minecraft(我的世界)各种协议的Go实现
  11. codeforces 596E Wilbur and Strings(DFS)
  12. H5兼容问题及解决方法
  13. 路由的props配置项
  14. c语言用指针分离字符串数字与字符,c语言实验报告,指针的应用分别输出字符串中的数字和其他字符(共10篇).docx...
  15. BLDC反电动势的一些知识点
  16. Scrapy笔记-保存到数据库
  17. 猿人学-Android端爬虫比赛开赛
  18. 磁盘性能测试工具-FIO的安装及使用
  19. android 获取手机网络状态
  20. UML2面向对象分析与设计 -- 面向对象思维(概念、面向对象技术的发展历史、对象和类、面向对象技术的相关原则:抽象 封装 分解 泛化 多态 分层 复用)

热门文章

  1. 【数据挖掘】数据样本的归一化处理方法
  2. 画轻量线、二维多段线及三维多段线
  3. 【Huggingface系列学习】Finetuning一个预训练模型
  4. 翻译: 将操作系统架构带入二十一世纪—过去 50 年中 IT 的变化—第一部分
  5. c语言sockaddr_in6,C语言socket编程总结(三) struct sockaddr_in /struct sockaddr_in6/struct addrinfo 结构体...
  6. fedora安装fcitx输入法
  7. 【Linux】vi命令使用详解(vim编辑器)
  8. 2019蓝桥杯A组C++题目
  9. vncapp下载,vncapp下载怎么下载?下载教程
  10. python中partial库用法详解