一、标签处理类:
二、标签库描述文件:
- <?xml version="1.0" encoding="UTF-8"?>
- <taglib version="2.0" xmlns="http://java.sun.com/xml/ns/j2ee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd">
- <tlib-version>2.0</tlib-version>
- <short-name>my</short-name>
- <uri>http://blog.csdn.net/qjyong</uri>
- <tag>
- <description>通用分页标签</description>
- <name>pager</name>
- <tag-class>com.qiujy.tags.PagerTag</tag-class>
- <body-content>empty</body-content>
- <attribute>
- <name>pageNo</name>
- <required>true</required>
- <rtexprvalue>true</rtexprvalue>
- </attribute>
- <attribute>
- <name>recordCount</name>
- <required>true</required>
- <rtexprvalue>true</rtexprvalue>
- </attribute>
- <attribute>
- <name>pageSize</name>
- <required>true</required>
- <rtexprvalue>true</rtexprvalue>
- </attribute>
- <attribute>
- <name>url</name>
- <required>true</required>
- <rtexprvalue>true</rtexprvalue>
- </attribute>
- </tag>
- </taglib>
三、把标签处理类和tld打成pager.jar包。使用时只需添加到项目的类路径中即可。
四、测试:先写一个Servlet来创建测试数据
- package com.qiujy.web.servlet;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.List;
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- public class MyServlet extends HttpServlet {
-
- public static List<String> list = new ArrayList<String>();
-
- public MyServlet(){
- for(int i = 0; i < 100; i++){
- list.add("aaa" + i);
- }
- }
- public void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- this.doPost(request, response);
- }
- public void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- String pageNoStr = request.getParameter("pageNo");
- int pageNo = 1;
- if(pageNoStr != null && !pageNoStr.equals("")){
- pageNo = Integer.parseInt(pageNoStr);
- }
-
- int recordCount = list.size();
- int pageSize = 10;
- int startNo = (pageNo - 1) * pageSize;
-
- List<String> result = list.subList(startNo, startNo + 10);
-
- request.setAttribute("recordCount", recordCount);
- request.setAttribute("pageNo", pageNo);
- request.setAttribute("pageSize", pageSize);
- request.setAttribute("data", result);
-
- request.getRequestDispatcher("index.jsp").forward(request, response);
- }
- }
web.xml:
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
- http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
- <servlet>
- <servlet-name>pageTestServlet</servlet-name>
- <servlet-class>com.qiujy.web.servlet.MyServlet</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>pageTestServlet</servlet-name>
- <url-pattern>/testpager</url-pattern>
- </servlet-mapping>
-
- <welcome-file-list>
- <welcome-file>index.jsp</welcome-file>
- </welcome-file-list>
- </web-app>
页面:index.jsp
- <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
- <%@ taglib uri="http://blog.csdn.net/qjyong" prefix="q" %>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <title>PagerTag使用示例</title>
- </head>
-
- <body>
- <%
- List<String> list = (List<String>)request.getAttribute("data");
- for(String str : list){
- out.println(str + "<br/>");
- }
- %>
-
- <q:pager pageNo="${pageNo}"
- recordCount="${recordCount}"
- pageSize="${pageSize}"
- url="testpager" />
- </body>
- </html>
访问testpager后的效果图:
分享到:
相关推荐
自定义分页标签是指开发者根据项目需求,为应用程序创建的特定分页组件,以便更好地控制和美化页面的分页显示。本篇文章将深入探讨自定义分页标签的相关知识点。 首先,我们要理解什么是分页。分页是将大量数据分割...
一个JSP自定义通用分页标签最新修改版及其使用示例。 可先参看:http://blog.csdn.net/qjyong/archive/2008/11/06/3240303.aspx 的介绍再决定下载。
本实例提供了一个自定义分页控件和多表头处理的Table表格的实现,帮助开发者更好地理解和运用这些技术。 首先,让我们深入探讨自定义控件。在.NET框架中,自定义控件允许开发者根据特定需求扩展或创建新的用户界面...
在Swiper中自定义分页标签和进度条的位置,主要通过CSS来实现。你可以调整这些元素的`position`, `top`, `right`, `bottom`, `left`等属性,让它们在页面上的任何地方显示。例如: ```css .swiper-pagination { ...
JSP自定义分页标签是一种在Java Server Pages中实现分页功能的自定义标签,它通过TLD文件(标签库描述文件)来定义和描述标签的属性和行为,实现分页显示的功能。以下是关于JSP自定义分页标签全过程的一些详细知识点...
它不仅可以应用于各种数据库,还能适应不同的前端展示需求,例如更改每页显示的数量、自定义分页样式等。对于熟悉Java和Struts的开发者来说,通过这个分页标签可以在短时间内高效地实现分页功能,提升开发效率。 ...
首先,从标题“自定义数字分页源码”我们可以知道,这是一个用于创建自定义分页功能的源代码。这意味着开发者可以根据具体需求定制分页样式和逻辑,而不是依赖于预设的库或框架。这在某些场景下尤其有用,比如当需要...
修改分页标签的参数 为了使`pagelist`支持多语言,我们可以在调用该标签时添加一个新的参数`pagelang`,该参数用于指定当前使用的语言类型。例如: ```php {dede:pagelist pagelang='en' listsize='5' /} ``` 其中...
3. **自定义样式**:插件允许开发者自定义分页按钮的样式,可以通过CSS来改变按钮的外观,满足不同网站设计需求。 4. **多种导航模式**:除了常见的数字分页,还可以提供“上一页”、“下一页”、“首页”、“末页...
3. 自定义分页逻辑:根据不同的数据库(如MySQL、Oracle等),拦截器需要处理不同的分页语法。 4. 兼容性测试:由于不同的Mybatis版本可能有不同的API或行为,因此需要确保拦截器在目标版本下正常工作。 在压缩包...
- **自定义模板**:允许开发者自定义分页链接的HTML结构,以满足复杂布局需求。 - **缓存优化**:插件可能包含缓存机制,减少不必要的数据库查询,提高性能。 ### 五、常见问题与解决 在使用过程中,可能会遇到如...
eWebEditor增加分页符功能意味着开发者可以自定义分页算法,根据需要将长文章按照特定规则(例如字数、段落等)分割成多页。这可能涉及到对源代码的深入理解和修改,以确保分页符的插入不会破坏原有HTML结构,并且在...
4. **标签库**:在描述中未明确提及,但通常在JSP页面中,我们会使用JSTL(JavaServer Pages Standard Tag Library)或自定义标签来简化HTML和Java代码的混合,提高可读性和可维护性。 5. **学生管理系统**:这个...
此外,插件的样式可以根据网站的总体设计进行自定义,通过修改CSS文件来调整分页按钮的外观,使其更好地融入网站风格。 总的来说,"织梦分页插件"是提高织梦CMS首页性能和用户体验的重要工具,其安装和配置涉及到对...
1. **HTML5基础知识**:HTML5是超文本标记语言的最新版本,增加了许多新特性,如语义化标签、离线存储、拖放功能以及媒体元素等。在创建分页控件时,可以利用这些新特性来提高网页的可访问性和性能。 2. **jQuery库...
分页通常包含“上一页”、“下一页”、数字页码等元素,这些元素可以通过`<a>`标签来创建,设置合适的`href`属性指向相应的URL,以便用户点击后跳转到相应页面。 2. CSS样式: 为了使分页看起来美观,CSS代码会...
标题 "修改mybatis的MBG工具源码,支持mysql分页" 暗示了我们需要讨论的话题是关于MyBatis Generator (MBG) 的自定义,特别是如何扩展它以支持MySQL数据库的分页功能。MBG 是一个强大的代码生成器,能够自动根据...
32. 百度编辑器上传视频播放器由embed改成video标签 33. 添加本地关键词获取API,原官方关键词接口已失效 34. 添加站点自定义字段、栏目自定义字段、单网页自定义字段 35. 添加一键导入微信文章字段 36. 添加Word...
MyBatis插件机制允许开发者自定义拦截器,这些拦截器可以拦截SQL执行的各个阶段,从而在特定时刻插入、修改或删除执行流程。在"mybatis分页共享"这个资源中,开发者创建了一个插件,它拦截了`StatementHandler`接口...
【标题】"带标签栏的强大分页视图.zip" 提供的是一个开源项目,它实现了一个功能丰富的分页视图,结合了标签栏(TabBar)功能,使得用户可以在多个页面间轻松切换,同时保持清晰的导航结构。这种设计常见于移动应用...