前端页面组件开发工具Pager-taglib
前端页面组件开发工具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相关推荐
- 2022 前端常用的开发工具、组件库等等~持续整理,待你分享~
2022 前端常用的开发工具.组件库等等持续整理,待你分享 小伙伴们!我这里整理了一些对前端开发有帮助的工具.库.网站等.对于这些东西有些是我自己用过的,有些是听过的,但是也有些是没听过也没用过的.只 ...
- 前端页面可视化设计工具
(3条消息) [html]前端页面可视化设计工具总结_XYZ-CSDN博客_html可视化布局工具
- HTML——前端实时可视化开发工具
前端实时可视化开发工具:liveStyle.liveReload.Broswer-Sync. 一.liveStyle 如图,liveStyle支持三种文件. 需要安装两个插件:浏览器的插件,subli ...
- 学成在线--2.CMS前端页面查询开发
文章目录 0.思路总结 1.创建CMS模块的目录架构 2.创建页面并配置路由 1)在page目录新建page_list.vue,扩展名为.vue. 2)在cms的router下配置路由. 3)在bas ...
- 推荐25款很棒的 HTML5 前端框架和开发工具【下篇】
快速,安全,响应式,互动和美丽,这些优点吸引更多的 Web 开发人员使用 HTML5.HTML5 有许多新的特性功能,允许开发人员和设计师创建应用程序和网站,带给用户桌面应用程序的速度,性能和体验. ...
- 前端常用的开发工具(推荐)
一.Visual Studio Code 下载地址:https://code.visualstudio.com/ 功能介绍: 微软在2015年4月30日Build 开发者大会上正式宣布了 Visual ...
- 好程序员HTML5大前端分享常用开发工具大集合
HTML5作为当前最为流行的编程语言,广为适用.语言的使用人数急剧增长,更多地开发人员使用这种语言来创建各种内容并放到互联网上.随着每一个新版本的发布,HTML通过更好的功能和技术渐渐占据了制高点.接 ...
- rgb颜色查询工具_Web前端页面重构之工具篇(Photoshop)
一.说在前面的话 1.1 职责:拒绝"图片仅供参考请以实物为准" 团队的协作流程一般分为以下几个阶段: 专业的设计师做设计 由前端工程师切图重构还原成浏览器能渲染的页面,再开发功能 ...
- 【html】前端页面可视化设计工具总结
在进行网站设计时,我们可以通过借助现有的html模板,在适当地修改后,变为适合需求的web界面.因此,对于一个后端的程序员来说,找到一个合适的html模板就变得非常重要. 目录 1. 源码之家 2. ...
最新文章
- java多线程做一件事_关于Java的十件事
- ofo悄然搬离中关村,联合创始人出走,千万用户的押金还能退回来吗?
- SAP License:发票校验抬头税码选择清单
- 目标检测——初始学习率设置的学习笔记
- Encoding非常用编码转换
- 如何在 iPhone、iPad 和 Mac 上通过 iMessage 共享照片和视频?
- 【C++】一次遇到的需要加入const属性的情况
- 嵌入式工程师是青春饭吗?越老越吃香吗?
- C语言输入一个数,看它能否被3和5同时整除
- 我的世界服务器连接协议,go-mc: Minecraft(我的世界)各种协议的Go实现
- codeforces 596E Wilbur and Strings(DFS)
- H5兼容问题及解决方法
- 路由的props配置项
- c语言用指针分离字符串数字与字符,c语言实验报告,指针的应用分别输出字符串中的数字和其他字符(共10篇).docx...
- BLDC反电动势的一些知识点
- Scrapy笔记-保存到数据库
- 猿人学-Android端爬虫比赛开赛
- 磁盘性能测试工具-FIO的安装及使用
- android 获取手机网络状态
- UML2面向对象分析与设计 -- 面向对象思维(概念、面向对象技术的发展历史、对象和类、面向对象技术的相关原则:抽象 封装 分解 泛化 多态 分层 复用)
热门文章
- 【数据挖掘】数据样本的归一化处理方法
- 画轻量线、二维多段线及三维多段线
- 【Huggingface系列学习】Finetuning一个预训练模型
- 翻译: 将操作系统架构带入二十一世纪—过去 50 年中 IT 的变化—第一部分
- c语言sockaddr_in6,C语言socket编程总结(三) struct sockaddr_in /struct sockaddr_in6/struct addrinfo 结构体...
- fedora安装fcitx输入法
- 【Linux】vi命令使用详解(vim编辑器)
- 2019蓝桥杯A组C++题目
- vncapp下载,vncapp下载怎么下载?下载教程
- python中partial库用法详解