`
jordan_micle
  • 浏览: 245125 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

JSTL实现分页

阅读更多

最多显示左右三页间隔,首页和末页必显示
1页 
当前任意页  1
2页 
当前任意页  1 2
3页 
当前任意页  1 2 3
4页 
当前任意页  1 2 3 4
5页 
当前任意页  1 2 3 4 5
6页 
当前第1页  1 2 3 4 ... 6
当前第2-5页 1 2 3 4 5 6
当前第6页  1 ... 3 4 5 6
7页 
当前第1页  1 2 3 4 ... 7
当前第2页  1 2 3 4 5 ... 7
当前第3-5页 1 2 3 4 5 6 7
当前第6页  1 ...  3 4 5 6 7
当前第7页  1 ... 4 5 6 7
8页
当前第1页  1 2 3 4 ... 8
当前第2页  1 2 3 4 5 ... 8
当前第3页  1 2 3 4 5 6 ... 8
当前第4-5页 1 2 3 4 5 6 7 8
当前第6页  1 ... 3 4 5 6 7 8
当前第7页  1 ... 4 5 6 7 8
当前第8页  1 ... 5 6 7 8
9页
当前第1页  1 2 3 4 ... 9
当前第2页  1 2 3 4 5 ... 9
当前第3页  1 2 3 4 5 6 ... 9
当前第4页  1 2 3 4 5 6 7 ... 9
当前第5页  1 2 3 4 5 6 7 8 9
当前第6页  1 ... 3 4 5 6 7 8 9
当前第7页  1 ... 4 5 6 7 8 9
当前第8页  1 ... 5 6 7 8 9
当前第9页  1 ... 6 7 8 9
10页

当前第1页  1 2 3 4 ... 10
当前第2页  1 2 3 4 5 ... 10
当前第3页  1 2 3 4 5 6 ... 10
当前第4页  1 2 3 4 5 6 7 ... 10
当前第5页  1 2 3 4 5 6 7 8 ... 10
当前第6页  1 ... 3 4 5 6 7 8 9 10
当前第7页  1 ... 4 5 6 7 8 9 10
当前第8页  1 ... 5 6 7 8 9 10
当前第9页  1 ... 6 7 8 9 10
当前第10页 1 ... 7 8 9 10
11页
当前第1页  1 2 3 4 ... 11
当前第2页  1 2 3 4 5 ... 11
当前第3页  1 2 3 4 5 6 ... 11
当前第4页  1 2 3 4 5 6 7 ... 11
当前第5页  1 2 3 4 5 6 7 8 ... 11
当前第6页  1 ... 3 4 5 6 7 8 9 ... 11
当前第7页  1 ... 4 5 6 7 8 9 10 11
当前第8页  1 ... 5 6 7 8 9 10 11
当前第9页  1 ... 6 7 8 9 10 11
当前第10页 1 ... 7 8 9 10 11
当前第11页 1 ... 8 9 10 11
12页
当前第1页  1 2 3 4 ... 12
当前第2页  1 2 3 4 5 ... 12
当前第3页  1 2 3 4 5 6 ... 12
当前第4页  1 2 3 4 5 6 7 ... 12
当前第5页  1 2 3 4 5 6 7 8 ... 12
当前第6页  1 ... 3 4 5 6 7 8 9 ... 12
当前第7页  1 ... 4 5 6 7 8 9 10 ... 12
当前第8页  1 ... 5 6 7 8 9 10 11 12
当前第9页  1 ... 6 7 8 9 10 11 12
当前第10页 1 ... 7 8 9 10 11 12
当前第11页 1 ... 8 9 10 11 12
当前第12页 1 ... 9 10 11 12

 

实现方案:
总页数pageAmount
当前页码currentPage
页数左间隔/右间隔interval
(1)第一页和最后一页肯定显示n=pageAmount,当n=1时只显示1页
(2)中间页码显示
如果currentPage<=5,从2显示至currentPage
如果currentPage>5,显示省略号,然后从currentPage-3显示至currentPage
如果currentPage<=pageAmount-4或者pageAmount-4<=0,从currentPage+1显示至pageAmount
如果currentPage>pageAmount-4,从currentPage+1显示至currentPage+3,然后显示省略号和pageAmount

 

每页显示&nbsp;${sessionScope.count}&nbsp;条记录&nbsp;
总记录数/总页数&nbsp;${sessionScope.recordAmount}/${sessionScope.pageAmount}
&nbsp;当前第&nbsp;
<a href="ViewServlet?currentPage=1">[1]</a>&nbsp;
<c:if test="${sessionScope.pageAmount!=1}">
	<c:choose>
		<c:when test="${requestScope.currentPage<=5}">
			<c:forEach var="i" begin="2" end="${requestScope.currentPage}">
				<a href="ViewServlet?currentPage=${i}">[${i }]</a>&nbsp;
			</c:forEach>
		</c:when>
		<c:otherwise>
			...&nbsp;
			<c:forEach var="i" begin="${requestScope.currentPage-3}"
				end="${requestScope.currentPage}">
				<a href="ViewServlet?currentPage=${i}">[${i }]</a>&nbsp;
			</c:forEach>
		</c:otherwise>
	</c:choose>
	<c:choose>
		<c:when test="${requestScope.currentPage>=sessionScope.pageAmount-4 
			|| sessionScope.pageAmount-4<=0}">
			<c:forEach var="i" begin="${requestScope.currentPage+1}"
				end="${sessionScope.pageAmount}">
				<a href="ViewServlet?currentPage=${i}">[${i }]</a>&nbsp;
			</c:forEach>
		</c:when>
		<c:otherwise>
			<c:forEach var="i" begin="${requestScope.currentPage+1}"
				end="${requestScope.currentPage+3}">
				<a href="ViewServlet?currentPage=${i}">[${i }]</a>&nbsp;
			</c:forEach>
			...&nbsp;
			<a href="ViewServlet?currentPage=${sessionScope.pageAmount}">
				[${sessionScope.pageAmount}]</a>&nbsp;
		</c:otherwise>
	</c:choose>
</c:if>
页

  

 

分享到:
评论
1 楼 bluky999 2010-08-04  
你这个有个小不足,就是currentpage仍然有链接 哈哈

  需要加一句

相关推荐

    如何用JSTL实现分页

    如何用JSTL实现分页 如何用JSTL实现分页 如何用JSTL实现分页 如何用JSTL实现分页 如何用JSTL实现分页

    jsp+jstl实现分页

    jsp+jstl实现分页,简单的分页

    jstl 实现分页

    **JSTL实现分页详解** 在Web开发中,数据量较大的时候,为了提供良好的用户体验,通常会采用分页展示数据。JavaServer Pages Standard Tag Library(JSTL)是Java Web开发中的一个标准标签库,它包含了一系列用于...

    ajax、mysql、jstl实现分页、局部刷新界面

    &lt;%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %&gt; &lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %&gt; &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt; ...

    用JSTL实现JSP分页显示数据代码(MySQL数据库)

    JSTL 实现 JSP 分页显示数据代码(MySQL 数据库) 本文将详细讲解如何使用 JSTL 实现 JSP 分页显示数据代码,并使用 MySQL 作为数据库。该代码不仅提供了分页显示数据的功能,还提供了数据库和表的创建代码。 标题...

    jstl分页jstl分页

    在本示例中,我们将探讨如何利用JSTL实现分页功能,特别是在结合JavaBean、JSP和SQL Server 2005数据库的情况下。 首先,我们要理解分页的基本原理。分页主要是通过限制数据库查询返回的数据量来实现的,每次只获取...

    EL+JSTL+分页

    实现分页通常涉及以下几个步骤: 1. **计算总页数**:根据数据库中的记录总数和每页显示的记录数,计算出总页数。 2. **获取当前页数据**:通过SQL查询语句,结合当前页码和每页记录数,获取当前页的数据。 3. **...

    jstl实现jsp页面的分页

    总的来说,JSTL提供了强大的控制结构,使得在JSP中实现分页功能变得简单直观。通过结合EL表达式和JSTL标签,我们可以创建动态的、适应性强的分页界面,提高用户体验。在实际开发中,还需要考虑错误处理和优化,例如...

    在Jsp中采用JSTL分页技术

    本文将详细探讨如何在JSP中利用JSTL实现分页技术。 首先,我们需要了解JSTL的基本概念。JSTL是由Sun Microsystems开发的一个开源项目,旨在简化JSP页面的编写,减少脚本代码,提高可维护性和可读性。它包括多个核心...

    用jsp+servlet+EL表达式+JSTL写的分页代码

    本示例是基于`jsp`、`servlet`、`EL(Expression Language)`表达式和`JSTL(JavaServer Pages Standard Tag Library)`实现的一个分页代码。下面,我们将深入探讨这些技术及其在分页中的应用。 **1. JSP(Java...

    struts2+sqlserver2000+jstl+分页

    开发者可能需要编写SQL查询语句,利用`TOP`关键字或者`ROW_NUMBER()`函数实现分页效果,返回每一页的数据量。 JSTL(JavaServer Pages Standard Tag Library)是JSP标准标签库,提供了许多预定义的标签,简化了JSP...

    jsp 使用jstl实现翻页实例代码.docx

    本文将详细介绍如何利用JSP结合JSTL实现分页功能,并提供一个具体的实例代码分析。 #### 二、JSP与JSTL简介 1. **JSP**: - JSP是一种基于Java技术的服务器端脚本语言。 - 它允许开发者将HTML、XML和其他文档格式...

    JSTL JSP 自定义标签 分页

    jh-plugins是一项基于JSTL的自定义标签(插件)库,致力于打造一处实现、任何项目通用的开源项目。 jh-plugins已实现标签库:分页 jh-plugins特点:高效、轻巧、简单、适用(可融合与任何B/S架构的java项目) jh-...

    用struts实现的分页

    总的来说,通过Struts和JSTL实现分页,可以高效地管理大量数据,提高Web应用的性能和用户体验。理解并掌握这一技术对于JavaEE开发人员来说是至关重要的。在实际项目中,还需要考虑如何优化数据库查询、缓存策略以及...

    JSTL&EL分页的例子

    在这个"JSTL&EL分页的例子"中,我们将探讨如何使用JSTL和EL来实现分页功能,这是一种在网页上显示大量数据时非常实用的技术。分页可以使用户更方便地浏览和管理信息,避免一次性加载过多数据导致页面响应慢或者内存...

    jsp+servlet简单分页实现

    通过JavaScript函数调用jQuery load函数来实现分页。load函数中将起始页数发送至servlet,servlet通过DataService从数据库中获取数据。但是每次点击都会请求数据库。

    jsp实现分页功能

    在网页开发中,分页功能是一项非常常见的需求,特别是在数据量较大的情况下,为了提高用户体验,我们需要将大量数据分批次展示,这就是jsp实现分页功能的主要目的。本篇将详细介绍如何利用jsp来完成这一任务。 首先...

    实现分页的.java

    `实现分页的.java`这个项目很可能是实现了这样一个分页插件,使用了JSTL(JavaServer Pages Standard Tag Library)来简化JSP页面的编写。 JSTL是Java Web开发中的一个标准标签库,它提供了多种功能标签,包括核心...

    使用struts实现分页

    3. **.struts-config.xml配置文件**:在实现分页功能时,需要在项目的配置文件`struts-config.xml`中定义Action以及相关的ActionForm和ActionForward。ActionForm用于封装用户请求的数据,ActionForward则定义了请求...

    Web开发——jstl标签真分页实战

    本篇文章将详细解读如何利用JSP中的JSTL标签库实现真分页功能。 #### JSTL简介 JavaServer Pages Standard Tag Library (JSTL) 是一套为简化JSP页面开发而设计的标准标签库。它提供了一系列预定义标签来执行常见...

Global site tag (gtag.js) - Google Analytics