热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

参照jquery_pagination写的一个生成html的类

因为项目需求的变动。现在不能用ajax来显示内容了,所以我最爱的jquer_pagination就没办法用了。无奈之下。我仿照jquery_pagination写了一个html的生成类,希望
 
 

因为项目需求的变动。现在不能用ajax来显示内容了,所以我最爱的jquer_pagination就没办法用了。无奈之下。我仿照jquery_pagination写了一个html的生成类,希望能帮助到需要的人。当然还有那些会写但是懒得写的人。哈哈!

这个需要的CSS文件就是jquery_pagination里面的那个CSS。也可以自己改写程序和CSS文件。

/** * @author Xiao * @time 2012-5-4 9:28 * @description 网站前台用的分页辅助类 */public class PaginationUtil {		public static void main(String[] args) {		for (int i = 1; i <= 20; i++) {			System.out.println(getPaginationHtml(600, 30, i, 2, 5, "/xxx/ddd/{page}/sss"));		}	}		/**	 * 接收参数,生成分页的静态HTML字符串。	 * @param allTotal 所有的页面数	 * @param currentRows 当前页面显示数	 * @param currentPage 当前页面	 * @param edgeEntries 边缘页数	 * @param displayEntries 主体页数	 * @param link_to 链接(需要加{page}才能显示连接的页码)	 * @return 分页的html字符串	 */	public static String getPaginationHtml(Integer allTotal,Integer currentRows,Integer currentPage,Integer edgeEntries,Integer displayEntries,String link_to){		StringBuffer sb = new StringBuffer();		//获取总页码		Integer total = 0;		if(allTotal % currentRows > 0){			total = allTotal / currentRows + 1;		}else{			total = allTotal / currentRows;		}		//判断如果选中页码大于总页码。则显示总页码数		if(total ");		//上一页		if(currentPage == 1){			sb.append("");		}else{			linkStr = link_to.replace("{page}", (currentPage - 1) + "");			sb.append("");		}		//判断总页码是否大于需显示的页码数		if((edgeEntries*2) + displayEntries > total){			//显示数大于总页数			for (int i = 1; i <= total; i++) {				if(i == currentPage){					sb.append("").append(i).append("");				}else{					linkStr = link_to.replace("{page}", i+"");					sb.append("" + i + "");				}			}		}else if(currentPage <= 6){			//页码小于或者等于6时			Integer currentTotal = 0;			if(currentPage <5){				currentTotal = 5;			}else{				currentTotal = currentPage+2;			}			for (int i = 1; i <= currentTotal; i++) {				if(i == currentPage){					sb.append("").append(i).append("");				}else{					linkStr = link_to.replace("{page}", i+"");					sb.append("" + i + "");				}			}						sb.append("...");			linkStr = link_to.replace("{page}", (total - 1) + "");			sb.append("").append((total - 1)).append("");			linkStr = link_to.replace("{page}", total + "");			sb.append("").append(total).append("");		}else if((total - 4) <= currentPage){			linkStr = link_to.replace("{page}", "1");			sb.append("1");			linkStr = link_to.replace("{page}", "2");			sb.append("2");			sb.append("...");						Integer currentTotal = 0;			if((total - 1) > currentPage){				currentTotal = currentPage - 3;			}else{				currentTotal = total - 4;			}			for (int i = currentTotal; i <= total; i++) {				if(i == currentPage){					sb.append("").append(i).append("");				}else{					linkStr = link_to.replace("{page}", i+"");					sb.append("").append(i).append("");				}			}		}else{			linkStr = link_to.replace("{page}", "1");			sb.append("1");			linkStr = link_to.replace("{page}", "2");			sb.append("2");			sb.append("...");						linkStr = link_to.replace("{page}", (currentPage - 3) + "");			sb.append("").append((currentPage - 3)).append("");			linkStr = link_to.replace("{page}", (currentPage - 2) + "");			sb.append("").append((currentPage - 2)).append("");			linkStr = link_to.replace("{page}", (currentPage - 1) + "");			sb.append("").append((currentPage - 1)).append("");						sb.append("").append(currentPage).append("");						linkStr = link_to.replace("{page}", (currentPage + 1) + "");			sb.append("").append((currentPage + 1)).append("");			linkStr = link_to.replace("{page}", (currentPage + 2) + "");			sb.append("").append((currentPage + 2)).append("");						sb.append("...");			linkStr = link_to.replace("{page}", (total - 1) + "");			sb.append("").append((total - 1)).append("");			linkStr = link_to.replace("{page}", total + "");			sb.append("").append(total).append("");		}		//下一页		if(currentPage == total){			sb.append("");		}else{			linkStr = link_to.replace("{page}", (currentPage + 1) + "");			sb.append("");		}		sb.append(" 到第");		sb.append("
"); sb.append("
共 ").append(allTotal).append(", ").append(total).append("页
"); return sb.toString(); }}


推荐阅读
  • 本文深入探讨了Java注解的基本概念及其在现代Java开发中的应用。文章不仅介绍了如何创建和使用自定义注解,还详细讲解了如何利用反射机制解析注解,以及Java内建注解的使用场景。 ... [详细]
  • 学习目的:1.了解android线程的使用2.了解主线程与子线程区别3.解析异步处理机制主线程与子线程:所谓主线程,在Windows窗体应用程序中一般指UI线程,这个是程序启动的时 ... [详细]
  • 本文针对公司项目中普遍存在的IE浏览器兼容性问题,特别是IE9及以下版本,提出了具体的解决方案,确保用户在这些旧版浏览器中也能顺利实现图片上传预览功能。 ... [详细]
  • 手把手教你构建简易JSON解析器
    本文将带你深入了解JSON解析器的构建过程,通过实践掌握JSON解析的基本原理。适合所有对数据解析感兴趣的开发者。 ... [详细]
  • 本文详细介绍了 C# 编程语言中 Main 方法的作用、不同形式及其使用场景,帮助开发者更好地理解和应用这一重要概念。 ... [详细]
  • Redis 教程01 —— 如何安装 Redis
    本文介绍了 Redis,这是一个由 Salvatore Sanfilippo 开发的键值存储系统。Redis 是一款开源且高性能的数据库,支持多种数据结构存储,并提供了丰富的功能和特性。 ... [详细]
  • 本文介绍了一种利用迭代法解决特定方程问题的方法,特别是当给定函数f(x)在区间[x1, x2]内连续且f(x1)0时,存在一个x~使得f(x~)=0。通过逐步细化搜索范围,可以高效地找到方程的根。 ... [详细]
  • 一个产品数组拼图|集合 2 (O(1)空间) ... [详细]
  • ThinkPHP 文件缓存组件详解与应用
    本文深入探讨了ThinkPHP框架中的文件缓存类实现,提供了详细的代码示例和使用说明,旨在帮助开发者更好地理解和利用这一功能来优化应用程序性能。 ... [详细]
  • 本文档详细介绍了服务器与应用系统迁移的策略与实施步骤。迁移不仅涉及数据的转移,还包括环境配置、应用兼容性测试等多个方面,旨在确保迁移过程的顺利进行及迁移后的系统稳定运行。 ... [详细]
  • 设计模式笔记12:迭代器模式(Iterator Pattern) ... [详细]
  • 本文介绍了NHibernate中通过定义接口和实现类来管理会话工厂的方法,包括接口的优势、模型文件夹的结构以及具体的代码示例。 ... [详细]
  • 快速排序是一种高效的排序算法,以其在多数情况下接近最优的性能而著称。本文将详细介绍如何在 Java 中实现快速排序,并分析其工作原理。 ... [详细]
  • 开发笔记:异步实时搜索jquery select插件
    开发笔记:异步实时搜索jquery select插件 ... [详细]
  • 如何清空Layui树结构
    本文将详细介绍如何使用Layui框架清空树形结构,包括创建树、添加节点以及实现清空功能的具体步骤。通过本文,您将能够掌握Layui树的管理技巧。 ... [详细]
author-avatar
手机用户2502917943
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有