在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的分页技术的研究与实现,通过对分页技术的分析和研究,提出了一个基于ASP的分页技术实现方案。本文首先对实现分页技术的必要技术前提进行了概要介绍,即HTML、ASP、数据库等,这些都是...
在Web开发中,分页控件...综上所述,"Web分页控件例子Demo"是一个涵盖前端和后端的分页实现教程,通过学习和分析这个示例,开发者可以掌握如何在实际项目中有效地集成和定制分页控件,以提高Web应用的性能和用户体验。
在Web开发中,分页是常见的功能之一,特别是在数据量庞大的场景下,为了提高用户体验,我们需要将大量数据分批次展示,而不是一次性加载所有内容。本文将深入探讨如何将Web层的分页功能封装成一个通用模块,实现代码...
本篇文章将深入探讨“简单web分页实现”的概念、原理以及实现方法。 首先,我们要理解分页的基本原理。分页通常涉及到两个主要方面:前端显示和后端数据处理。前端负责展示页面上的导航元素(如页码),并根据用户...
### Java Web 分页设计知识点详解 #### 一、分页设计概述 在Java Web开发中,当需要展示大量数据时,通常会采用分页技术来提高用户体验和减轻服务器负担。分页可以有效地控制每次加载的数据量,使得用户界面更加...
通过对这些代码的学习和分析,可以更深入理解Ajax分页的实现方式。 总的来说,Java Web中的Ajax分页技术结合了前端交互、后端处理和数据库操作,通过异步通信提升了用户体验。理解和掌握这一技术,对提升Web应用的...
综上所述,这24款超实用的WEB分页代码集合涵盖了分页功能实现的各种方法和技术,无论是对于初学者还是经验丰富的开发者,都是宝贵的资源,可以大大节省开发时间和提高项目质量。通过深入研究和实践,我们可以掌握...
总的来说,Java Web分页是通过合理的设计和适当的工具,结合数据库查询和内存处理,来实现高效、灵活的数据浏览功能。理解其原理和实践,对于提升Web应用的性能和用户体验至关重要。在实际项目中,应根据具体需求...
首先,JSP分页标签是Web开发中常用的一种技术,它简化了在JSP页面上实现分页的复杂性。ECSide的ET(EasyTag)提供了一套自定义的JSP标签库,使得开发者可以方便地在页面上插入分页组件。通过使用这些标签,你可以...
在这个特定的场景中,我们关注的是“VS2008 Web版的数据分页控件源码及其使用方法”。这个控件主要用于处理大量数据时,提高网页的加载速度和用户体验,通过分批次加载数据,避免一次性加载所有记录导致的页面性能...
本文将深入探讨这些JS分页样式的实现原理和特点,并结合提供的文件名称,分析可能包含的分页库及其历史版本。 1. **基础概念**: - 分页:将大量数据分成若干小部分,每次只显示一部分,用户可以通过点击页码或...
### Java Web分页技术详解 在Java Web开发中,分页技术是提升用户体验、优化数据库查询性能的关键技术之一。本文将深入探讨如何在JSP页面上实现简单的分页功能,重点在于SQL语句的处理与优化。 #### 分页概念与...
通过阅读和分析这些代码,我们可以学习如何将分页集成到实际的Web API项目中。 总结一下,"WebApiPagination"项目展示了如何在ASP.NET Core Web API中实现高效的分页功能,利用C#的Linq和IQueryable接口在数据库...
综上所述,基于ASP.NET缓存与分页策略的Web数据查询性能优化方案,通过结合数据库存储过程和缓存技术,有效解决了Web应用中数据查询效率低下的问题。该方案不仅显著提升了数据查询的速度,还优化了用户体验,是当前...
根据给定的信息,我们可以深入探讨一下在Web项目中如何运用SSH框架进行分页...通过上述分析,我们可以看出在Web项目中运用SSH框架进行分页处理是一项非常实用且重要的技术。希望本文能为初学者提供一定的帮助和指导。
总的来说,DWR分页源码的分析和学习可以帮助开发者更好地理解和实现Ajax分页,提升Web应用的用户体验。通过深入研究这些代码,我们可以学习到DWR与Ajax的集成、服务器端数据处理以及前端交互设计等方面的知识。
通过分析这些源代码,开发者可以深入理解各种分页技术的工作原理,以及如何在实际项目中应用它们。 在实际应用中,分页不仅涉及到数据的获取和显示,还需要考虑如当前页数的跟踪、总页数的计算、分页参数的传递、...
"jsp分页教程(资料)—透彻分析"这个主题深入讲解了如何在JSP项目中实现高效且灵活的分页功能。下面我们将详细探讨JSP分页的相关知识点。 1. **基本概念**:分页是将大量数据分为多个部分,每次只加载一部分到页面上...