`
canofy
  • 浏览: 828794 次
  • 性别: Icon_minigender_1
  • 来自: 北京、四川
社区版块
存档分类
最新评论

分页方法

    博客分类:
  • j2EE
阅读更多
/**
	 * 分页
	 * @param al
	 * @param curPage
	 * @return
	 */
	protected HashMap getPageList(ArrayList al, int curPage) {
		HashMap result=new HashMap();
		int count = al.size();
		ArrayList showPage=new ArrayList();
		int totalPage=0;
		int pageCount = 100;//一页显示的条数
		int showPageSize=10;//显示的页数,[1][2][3]
		if (count == 0){
			result.put("pageSize", String.valueOf(pageCount));
			result.put("currentPage", String.valueOf(curPage));
			result.put("showPage", showPage);
			result.put("totalPage", String.valueOf(totalPage));
			result.put("data", al);
			return result;
		}
			
		
		int pageLimit = (count - 1) / pageCount + 1;
		int begin = 0;
		int end = count;
		if (curPage * pageCount < count) {
			end = curPage * pageCount;
		}
		if ((curPage - 1) * pageCount > 1 && curPage <= pageLimit) {
			begin = (curPage - 1) * pageCount;
		}
		
		ArrayList rt = new ArrayList(al.subList(begin, end));
		
		//总页数
		if(count%pageCount==0){
			totalPage=count/pageCount;
		}else{
			totalPage=count/pageCount+1;
		}	
		
		if(curPage>totalPage) curPage=totalPage;
		
		
		
		//设置分页显示的数
		if(totalPage>showPageSize){
			int half=showPageSize/2;//显示分页页数的一半
			if(curPage>totalPage-half){//当前页在末尾的几页时
				for(int i=totalPage-showPageSize;i<totalPage+1;i++){
					showPage.add(String.valueOf(i));
				}
			}else if(curPage>half){//当前页在中间的几页时
				begin=curPage-half;
				end=curPage+half;
				for(int i=begin;i<end+1;i++){
					showPage.add(String.valueOf(i));
				}
			}else{
				for(int i=1;i<showPageSize+1;i++){
					showPage.add(String.valueOf(i));
				}	
			}
		}else{//总页数小于需要显示的页数,则把页数添加到showPage中
			for(int i=1;i<totalPage+1;i++){
				showPage.add(String.valueOf(i));
			}			
		}		
//		System.out.println("size:"+curPage);
		result.put("pageSize", String.valueOf(pageCount));
		result.put("currentPage", String.valueOf(curPage));
		result.put("showPage", showPage);
		result.put("totalPage", String.valueOf(totalPage));
		result.put("data", rt);
		return result;
	}

页面:
  <!-- 分页 -->
    	<table width="200px" align="center"> 
    			<tr>
    				<td align="center">
    					<html:link page="/issueAdmin.do?op=show_all&currentPage=1">首页</html:link>
    				</td>    				
    				<td align="center">
	    				<logic:iterate id="ele" name="showPage">
	    					<logic:equal name="ele" value="${currentPage}"><strong></logic:equal>
	    					<html:link page="/***.do?op=show_all&currentPage=${ele}">[<bean:write name="ele"/>]</html:link> 
	    					<logic:equal name="ele" value="${currentPage}"></strong></logic:equal>
	    				</logic:iterate>
    				</td>     				
    				<td align="center">
						<html:link page="/***do?op=show_all&currentPage=${taotalPage}">尾页</html:link>
					</td>
    				<td align="center">第<bean:write name="currentPage"/>页</td>				
    			</tr>
    		
    	</table>
分享到:
评论

相关推荐

    javaweb两中分页方法

    本文将详细介绍两种常用的JavaWeb分页方法:基于数据库查询的分页和基于内存的分页。 一、基于数据库查询的分页 1. SQL查询分页: 这种方法直接在SQL查询语句中实现分页。大多数数据库系统如MySQL、Oracle、SQL ...

    数据库分页方法

    ### 数据库分页方法 在处理大量数据时,分页技术是提高用户体验、优化系统性能的重要手段之一。本文将深入探讨数据库分页的基本概念、原理以及实现方式,并通过具体的SQL语句示例来帮助读者更好地理解和掌握这一...

    通用分页方法接口.rar

    通用分页方法接口的设计旨在提供一种标准化的、可复用的解决方案,使得不同的数据访问层(如数据库查询、API调用等)都能够方便地进行数据分页操作。下面我们将详细探讨这个主题。 一、分页的基本概念 分页是指将...

    一种高效的ASP+ACCESS分页方法

    ### 一种高效的ASP+ACCESS分页方法 #### 知识点概述 在Web开发中,尤其是在使用ASP(Active Server Pages)结合ACCESS数据库进行网站构建的过程中,分页技术是非常重要的一个环节。传统的分页方法虽然简单易懂,但...

    c#分页方法整理,c#语言

    本篇文章将深入探讨C#中实现分页的几种常见方法,并提供实践指导。 一、SQL Server 分页 在与SQL Server数据库进行交互时,我们可以利用SQL查询语句中的`OFFSET-FETCH`或`TOP`结合`WITH TIES`来实现分页。例如,...

    java一个通用的分页方法

    ### Java通用分页方法解析与应用 在Java开发中,特别是在Web应用中,分页功能是数据展示中不可或缺的一部分。合理的分页不仅能够提升用户体验,还能优化服务器性能,避免一次性加载大量数据导致的延迟和资源消耗。...

    java几种分页方法

    java几种分页方法java几种分页方法java几种分页方法 java几种分页方法java几种分页方法java几种分页方法 java几种分页方法java几种分页方法java几种分页方法 java几种分页方法java几种分页方法java几种分页方法

    可重用的MVC分页方法(ASP.NET MVC)

    综上所述,这个"可重用的MVC分页方法"案例通过纯手工的方式展示了如何在ASP.NET MVC中实现分页,同时强调了代码的可复用性和易维护性。通过学习这个案例,开发者可以更好地掌握MVC架构下分页功能的实现技巧。

    调用函数分页_分页方法不错_带省略号

    在提供的文件列表中,"page1.jpg"和"page2.jpg"可能是示例分页效果的截图,而"调用函数分页_分页方法不错_带省略号"可能是一个包含具体代码实现的文本文件。通过分析这些文件,可以更深入地理解如何在实际项目中应用...

    极限超强百度,谷歌分页方法

    这个主题,"极限超强百度,谷歌分页方法",涉及到如何高效地处理大量数据并提供用户友好的分页体验。下面将详细介绍这一领域的关键知识点。 首先,分页的目的是为了提高网页加载速度和用户体验。当搜索引擎返回...

    PHP中数据列表分页方法研究.pdf

    对于小规模的数据,可以使用简单的分页方法,但是对于大规模的数据,需要使用更复杂的分页方法来提高性能。本文对不同数据规模的应用环境进行了测试,结果表明,选择合适的分页方法可以提高 Web 应用系统的性能。 5...

    三种数据库SQL分页方法详解

    ### 三种数据库SQL分页方法详解 在数据库查询过程中,分页是非常常见且重要的一个功能。它可以帮助我们更高效地处理大量数据,特别是在构建大型应用系统时,分页技术能够显著提升用户体验。本文将详细介绍三种...

    24款网页分页方法满足网站需要

    在“24款网页分页方法满足网站需要”这个主题中,我们将探讨各种分页实现方式及其优缺点,帮助开发者根据项目需求选择最适合的方案。 1. 基础样式分页:基础的HTML与CSS结合,通过`&lt;ul&gt;`、`&lt;li&gt;`等元素创建分页链接...

    JSP精心收藏的21种分页方法

    本资源"JSP精心收藏的21种分页方法"正是针对这一需求,提供了多种实用且高效的分页解决方案。以下是这些方法的一些关键知识点: 1. **基础分页**:这是最简单的分页方式,通过计算总条数和每页显示的条数,设置页码...

    PHP分页(四种分页方法)类

    这种分页方法简单易懂,但当数据量很大时,OFFSET的性能问题不容忽视,因为它需要跳过前N条记录。 2. 关联查询分页 关联查询分页通常与数据库的主键和自增ID结合使用。这种方法不直接使用OFFSET,而是通过计算出...

    经典struts2分页方法 JAVA_WEB必备分页 源码

    经典Struts2分页方法是Java Web开发者需要掌握的核心技能之一。 分页的实现通常涉及到以下几个关键知识点: 1. **Action类**:在Struts2中,Action类是处理用户请求的中心。为了实现分页,我们需要创建一个包含...

    一个高效简洁的Struts分页方法

    标题:"一个高效简洁的Struts分页方法" 描述:"一个高效简洁的Struts分页方法" 标签:"Struts分页方法" 知识点详细说明: 在Web应用开发中,分页是处理大量数据展示的一种常见需求。Struts框架作为Java Web开发...

    Oracle,mysql,sqlserver等各种数据库的分页方法

    ### 数据库分页方法概述 在数据库操作中,分页是一项非常重要的技术,尤其是在处理大量数据时,能够有效地提升查询效率和用户体验。本文将详细介绍Oracle、MySQL、SQL Server等常见数据库系统的分页方法。 ### ...

    2个通用的ASP分页方法

    【ASP分页方法详解】 在ASP(Active Server Pages)中,分页是处理大量数据时常用的一种技术,它能够将数据库中的数据分批次显示,提高网页加载速度并提供更好的用户体验。这里我们将详细介绍两种通用的ASP分页方法...

    Struts2分页方法

    ### Struts2分页方法详解 #### 知识点一:Struts2框架与分页概念 Struts2是Apache软件基金会的一个开源Web应用框架,它继承了Struts1的优点并改进了许多不足之处,提供了更丰富的插件和标签库,支持拦截器、结果...

Global site tag (gtag.js) - Google Analytics