`
周禄康
  • 浏览: 157970 次
  • 性别: 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

 

分享到:
评论

相关推荐

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

    利用ASP.NET的缓存功能,结合性能良好的存储过程,一次性地缓存数据库数页数据,以供用户分页查询,是优化Web数据查询性能的比较理想的方式。文章详细介绍了优化模型的实现,并进行了性能分析

    Django 框架Web 数据查询分页技术研究

    为了探索Django 框架下Web 数据查询分页的实现方法及性能,本文先对Web 数据查询分页的执行过程和在 其它框架下常用的分页方法进行了分析研究。在此基础上,提出了在Web 服务层和在数据库服务层分页两种方案 ...

    分页栏的web标准实现

    分页栏是网页上最常见不过的一个组件,本博文给出分页栏的一个web2.0标准示例,并作简要分析

    JavaWeb分页技术与实现(含代码)

    分析Java Web中分页的技术,并对各种分页技术进行对比。具体说明了超大数据量的分页在MySQL、Or-acle中的实现方法,编写了针对Oracle数据库分页接口和实现类。

    PHP+MySQL的分页显示示例分析

    Web开发是今后分布式程式开发的主流,通常的web开发都要涉及到与数据库打交道,客户端从服务器端读取通常都是以分页的形式来显示,一页一页的阅读起来既方便又美观。本文分析了分页程序的原理,介绍了分页程序的主要...

    Web应用中可扩展分页技术的研究与实现 (2006年)

    在分析了Web应用体系结构的基础上,提出了一种分页性能模型,对基于Java技术的多种分页技术进行了性能分析。提出了一种可扩展的分页技术,利用改进的抽象工厂模式和分块方法解决了通用性和页间切换速度较慢的问题,...

    王勇drp项目分析web开发分析

    进一步加深对分页技术的理解 熟练session和filter的概念和运用 掌握html,了解css 掌握页面开发技术javasciprt的基本应用 掌握Ajax技术原理 掌握Tomcat链接池的配置 熟悉JFreechart的运用 了解验证码技术 熟悉上传...

    Java Web中常用的分页组件(Java端实现)

    本文通过使用场景分析给大家介绍了Java Web中常用的分页组件(Java端实现),非常不错,具有参考借鉴价值,需要的朋友参考下吧

    android实现listview分页的方法

    最近做了下listview的分页,跟WEB上的分页是一个意思,需要那几个分页参数,不同的是sqlite中分页的查询语句,简便的方法需要用Limit,Offset关键字,前者是查询每页展示的记录数,后者是越过多少记录数,说得明白点就是...

    论文研究-ASP.NET中数据分页技术的研究.pdf

    数据分页是Web应用程序开发中经常使用的一种技术,也是提高Web数据访问性能的主要手段。结合ASP.NET的优点,详细分析了ASP.NET中各种数据分页技术,并通过分析试验结果比较了各种数据分页技术的优缺点。

    J2EE项目–Servelt+jsp构建在线音乐网站(实现短信验证码+分页)Music_web.zip

    前端开发:HTML、CSS、JavaScript等用于构建网页和Web应用程序的技术。 后端开发:涉及服务器端编程、API开发、数据库集成等技术。 移动应用开发:包括iOS开发(使用Swift或Objective-C)和Android开发(使用Java或...

    ASP.NET中数据列表分页方法研究

    在以数据为中心的动态Web应用开发过程中,数据列表的分页显示是必须具备的功能。本文结合ASP.NET与SQL(结构化查询语言)编程特性,深入研究了多种分页显示方法,并进行了相关性能的分析与比较,从而为不同应用环境...

    Laravel框架分页实现方法分析

    当然你会说Laravel的Bootstrap样式也很好看啊,但是实际项目中,翻页按钮常常需要满足的客户的需要,特别在开发一款支持手机适配的Web APP,更是需要使用自定义的样式。 所以,学习一样东西不能一知半解,而是究其...

    PHP 分页原理分析,大家可以看看

    分页显示是一种非常常见的浏览和显示大量数据的方法,属于web编程中最常处理的事件之一。对于web编程的老手来说,编写这种代码实在是和呼吸一样自然,但是对于初学者来说,常常对这个问题摸不着头绪,因此特地撰写此...

    web玛莎拉蒂网站案例.zip

    web网站,玛莎拉蒂案例,包含三个界面 ,本文件是一份毕业设计,包含,三级页面,轮播图,分页,底部栏,响应式布局,

    canadensys-web-core:与Web应用程序相关的核心功能

    包括实用程序功能,Google Analytics(分析)支持和分页支持。 用法 库“ canadensys-webapp-core”应该用作WAR覆盖,因为它包含与“ webapp”相关的内容。 Gradle: : Maven: : 本地安装 mvn clean install 在...

    使用Nodejs多进程分页爬虫.zip

    爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的...

Global site tag (gtag.js) - Google Analytics