`
周禄康
  • 浏览: 161938 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

web上的分页分析

 
阅读更多

在web编写中的经常会遇到,数据需要分页的情况。当数据量不是很大的时候。

可以直接使用js来分页。可以很好的提高性能。简化代码。数据量大的时候。还是需要使用java的分页类还处理。

今天我来分析下。分页中导航的显示效果的实现。

显示效果:
[页面总数小于等于10,全部显示,当前页特殊显示]
上一页  1   2   3   4   5   6   7   8   9   10   下一页
[页面总数大于10,部分显示,当前页特殊显示]
上一页  1   2   3   …   20   下一页       [当前页面为首页时,上一页不可用]
上一页  1   2   3   4    …   20   下一页
上一页  1   2   3   4   5    …   20   下一页
上一页  1   2   3   4   5   6   …   20   下一页
上一页  1   …    3     4    5    6    7     …  20  下一页
上一页  1   …   14   15  16  17  18    ...  20  下一页
上一页  1   …   15   16  17  18  19  20  下一页
上一页  1   …   16   17  18  19  20  下一页
上一页  1   …   17   18  19  20  下一页
上一页  1   …   18   19  20  下一页[当前页面为末页时,下一页不可用]

算法提取:
0
.页码显示规则:
当前页为首页时不显示上一页;      上一页  1   2   3   …   20   下一页
当前页为尾页时不显示下一页;      上一页  1   …   17   18  19  20  下一页
1.页面总数(n)<=10 {
显示全部页码:上一页  1   2   3   4   5   6   7   8   9   10   下一页
}
2.页面总数(n) > 10 {
2.1     当前页码 <=  4 {
左侧显示所有 +  当前页码  +  右侧2个页码 + ... + 尾页
上一页  1   2   3   …   20   下一页
上一页  1   2   3   4    …   20   下一页
上一页  1   2   3   4   5    …   20   下一页
上一页  1   2   3   4   5   6   …   20   下一页
}
2.2      当前页码 > 4 且<= 页面总数(n) - 3 {
首页  + ... + 左侧2个页码  + 当前页码  + 右侧2个页码  + ...  +  尾页
上一页  1   …    3     4    5    6    7     …  20  下一页
上一页  1   …   14   15  16  17  18    ...  20  下一页
}
2.3      当前页码 > 页面总数(n) - 3 {
首页 + ... +  左侧2个页面 +  当前页码  +  右侧显示所有
上一页  1   …   15   16  17  18  19  20  下一页
上一页  1   …   16   17  18  19  20  下一页
上一页  1   …   17   18  19  20  下一页
上一页  1   …   18   19  20  下一页
}
}

 

下面我来把他修改成java语言。
[java]

public class PageTest {

	public static String pageControl(int page,int count){
		String strHtml = "";

		if(page > 1){
			strHtml += "上一页";
		}
		if(count <= 10){
			for(int i = 1;i<=count;i++){
				if(page == i){
					strHtml+=" ["+i+"]";
				}else{
					strHtml+=" "+i;
				}
			}
		}else{
			if(page<4){
				for(int i = page-1;i>0;i--){
					strHtml+=" "+i;
				}
				strHtml+=" ["+page+"]";
				strHtml+=" "+(page+1);
				strHtml+=" "+(page+2);
				strHtml+=" ...";
				strHtml+=" "+count;

			}
			if(page>4 && (page<=count-3)){
				strHtml+=" "+1;
				strHtml+=" ...";
				strHtml+=" "+(page-2);
				strHtml+=" "+(page-1);
				strHtml+=" ["+page+"]";
				strHtml+=" "+(page+1);
				strHtml+=" "+(page+2);
				strHtml+=" ...";
				strHtml+=" "+count;

			}
			if(page>count-3){
				strHtml+=" "+1;
				strHtml+=" ...";
				strHtml+=" "+(page-2);
				strHtml+=" "+(page-1);
				strHtml+=" ["+page+"]";
				for(int i = page+1;i<count;i++){
					strHtml+=" "+i;
				}
			}

		}

		if(page < count){
			strHtml += "下一页";
		}

		return strHtml;
	}

	public static void main(String[] args) {
		System.out.println(PageTest.pageControl(6, 20));
	}
}

[/java]

http://software.intel.com/zh-cn/blogs/2011/12/16/web-2/?cid=sw:prccsdn2101

 

分享到:
评论

相关推荐

    大工论文 基于Web的分页技术的研究与实现.docx

    本文主要探讨了一种基于Web的分页技术的研究与实现,通过对分页技术的分析和研究,提出了一个基于ASP的分页技术实现方案。本文首先对实现分页技术的必要技术前提进行了概要介绍,即HTML、ASP、数据库等,这些都是...

    Web分页控件例子Demo

    在Web开发中,分页控件...综上所述,"Web分页控件例子Demo"是一个涵盖前端和后端的分页实现教程,通过学习和分析这个示例,开发者可以掌握如何在实际项目中有效地集成和定制分页控件,以提高Web应用的性能和用户体验。

    将Web层分页封装成通用模块

    在Web开发中,分页是常见的功能之一,特别是在数据量庞大的场景下,为了提高用户体验,我们需要将大量数据分批次展示,而不是一次性加载所有内容。本文将深入探讨如何将Web层的分页功能封装成一个通用模块,实现代码...

    简单web分页实现

    本篇文章将深入探讨“简单web分页实现”的概念、原理以及实现方法。 首先,我们要理解分页的基本原理。分页通常涉及到两个主要方面:前端显示和后端数据处理。前端负责展示页面上的导航元素(如页码),并根据用户...

    java web 分页 设计

    ### Java Web 分页设计知识点详解 #### 一、分页设计概述 在Java Web开发中,当需要展示大量数据时,通常会采用分页技术来提高用户体验和减轻服务器负担。分页可以有效地控制每次加载的数据量,使得用户界面更加...

    java web常用到的ajax分页思路

    通过对这些代码的学习和分析,可以更深入理解Ajax分页的实现方式。 总的来说,Java Web中的Ajax分页技术结合了前端交互、后端处理和数据库操作,通过异步通信提升了用户体验。理解和掌握这一技术,对提升Web应用的...

    24款超实用的WEB分页代码

    综上所述,这24款超实用的WEB分页代码集合涵盖了分页功能实现的各种方法和技术,无论是对于初学者还是经验丰富的开发者,都是宝贵的资源,可以大大节省开发时间和提高项目质量。通过深入研究和实践,我们可以掌握...

    java web 分页详解1

    总的来说,Java Web分页是通过合理的设计和适当的工具,结合数据库查询和内存处理,来实现高效、灵活的数据浏览功能。理解其原理和实践,对于提升Web应用的性能和用户体验至关重要。在实际项目中,应根据具体需求...

    根据Ecside ET 源码改变WEB JSP 分页标签

    首先,JSP分页标签是Web开发中常用的一种技术,它简化了在JSP页面上实现分页的复杂性。ECSide的ET(EasyTag)提供了一套自定义的JSP标签库,使得开发者可以方便地在页面上插入分页组件。通过使用这些标签,你可以...

    VS2008Web版的数据分页控件源码及其使用方法

    在这个特定的场景中,我们关注的是“VS2008 Web版的数据分页控件源码及其使用方法”。这个控件主要用于处理大量数据时,提高网页的加载速度和用户体验,通过分批次加载数据,避免一次性加载所有记录导致的页面性能...

    推荐10个js分页样式

    本文将深入探讨这些JS分页样式的实现原理和特点,并结合提供的文件名称,分析可能包含的分页库及其历史版本。 1. **基础概念**: - 分页:将大量数据分成若干小部分,每次只显示一部分,用户可以通过点击页码或...

    Java_Web分页技术

    ### Java Web分页技术详解 在Java Web开发中,分页技术是提升用户体验、优化数据库查询性能的关键技术之一。本文将深入探讨如何在JSP页面上实现简单的分页功能,重点在于SQL语句的处理与优化。 #### 分页概念与...

    WebApiPagination:一个带有分页的简单Web API

    通过阅读和分析这些代码,我们可以学习如何将分页集成到实际的Web API项目中。 总结一下,"WebApiPagination"项目展示了如何在ASP.NET Core Web API中实现高效的分页功能,利用C#的Linq和IQueryable接口在数据库...

    基于ASP.NET缓存与分页策略优化Web数据查询性能

    综上所述,基于ASP.NET缓存与分页策略的Web数据查询性能优化方案,通过结合数据库存储过程和缓存技术,有效解决了Web应用中数据查询效率低下的问题。该方案不仅显著提升了数据查询的速度,还优化了用户体验,是当前...

    web项目ssh框架分页

    根据给定的信息,我们可以深入探讨一下在Web项目中如何运用SSH框架进行分页...通过上述分析,我们可以看出在Web项目中运用SSH框架进行分页处理是一项非常实用且重要的技术。希望本文能为初学者提供一定的帮助和指导。

    dwr分页源码,dwr分页源码

    总的来说,DWR分页源码的分析和学习可以帮助开发者更好地理解和实现Ajax分页,提升Web应用的用户体验。通过深入研究这些代码,我们可以学习到DWR与Ajax的集成、服务器端数据处理以及前端交互设计等方面的知识。

    asp.net24种分页含源码

    通过分析这些源代码,开发者可以深入理解各种分页技术的工作原理,以及如何在实际项目中应用它们。 在实际应用中,分页不仅涉及到数据的获取和显示,还需要考虑如当前页数的跟踪、总页数的计算、分页参数的传递、...

    jsp分页教程(资料)—透彻分析

    "jsp分页教程(资料)—透彻分析"这个主题深入讲解了如何在JSP项目中实现高效且灵活的分页功能。下面我们将详细探讨JSP分页的相关知识点。 1. **基本概念**:分页是将大量数据分为多个部分,每次只加载一部分到页面上...

Global site tag (gtag.js) - Google Analytics