`

Page分页

 
阅读更多
package org.grey.utils;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@SuppressWarnings({"unchecked","unused"})
public class Page {
	private int pageNo=1; //当前页
	private int pageSize = 10; //每页大小
	private int totalPages;  //总页
	private int totalRows; //总行数
	private List list = new ArrayList(0);  //存放数据
	//翻页条 示例 1 2 3 4 5 
	private int barNumbers = 5; //几个为一条,默认为5
	private List listNumbers = new ArrayList(); //数字翻页条
	public Page(int pageNo, int pageSize, int totalPages, List list) {
		this.pageNo = pageNo;
		this.pageSize = pageSize;
		this.totalPages = totalPages;
		this.list = list;
	}
	
	public int getPageNo() {
		return pageNo>this.getTotalPages() ? this.getTotalPages() : (pageNo ==0 ? 1 : pageNo);
	}
	public void setPageNo(int pageNo) {
		this.pageNo = pageNo;
	}
	public int getPageSize() {
		return pageSize;
	}
	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}
	public int getTotalPages() {
		totalPages = this.getTotalRows()%this.getPageSize()==0 ? this.getTotalRows()/this.getPageSize() : (this.getTotalRows()/this.getPageSize())+1;
		return totalPages;
	}
	public void setTotalPages(int totalPages) {
		this.totalPages = totalPages;
	}
	public int getTotalRows() {
		return totalRows;
	}
	public void setTotalRows(int totalRows) {
		this.totalRows = totalRows;
	}
	
	public List getList() {
		return list;
	}
	public void setList(List list) {
		this.list = list;
	}
	public int getBarNumbers() {
		return barNumbers;
	}
	public void setBarNumbers(int barNumbers) {
		this.barNumbers = barNumbers;
	}
	//分页条 如:1 2 3 4 5 6 
	public List getListNumbers() {
		List listn = new ArrayList();
		//总显示条数
		int totbars = this.getTotalPages()%this.getBarNumbers()==0 ? this.getTotalPages()/this.getBarNumbers() : this.getTotalPages()/this.getBarNumbers()+1;
		//当前显示条数
		int currentBar = this.getPageNo()%this.getBarNumbers()==0 ? this.getPageNo() /this.getBarNumbers() : this.getPageNo() /this.getBarNumbers()+1;
		if(this.getPageNo()==this.getBarNumbers()*currentBar && currentBar != totbars) {
			currentBar++;
		}
		if(this.getPageNo()==(this.getBarNumbers()*currentBar-this.getBarNumbers()+1) && currentBar >1) {
			currentBar--;
		}
		for(int i=this.getBarNumbers()*currentBar; i>(currentBar==1 ? 0 : this.getBarNumbers()*(currentBar-1)); i--) {
			if(i<=this.getTotalPages()) {
				listn.add(i);
			}
		}
		Collections.sort(listn);
		return listn;
	}
	
//	public static void main(String[] args) {
//		Page p = new Page();
//		p.setTotalRows(120);
//		//p.setBarNumbers(6);
//		p.setPageNo(13);
//		System.out.println(p.getTotalPages());
//		System.out.println(p.getListNumbers());
//	}
}

 

分享到:
评论

相关推荐

    php封装的page分页类.zip

    "php封装的page分页类" 是一个专门用于处理这种需求的类库,它简化了PHP分页的实现过程,通过封装核心逻辑,使开发者能够快速、高效地实现分页功能。 首先,我们要理解分页的基本原理。在数据库查询中,如果一次性...

    page分页jsp页面以及后台代码

    "page分页jsp页面以及后台代码"这个主题涵盖的是如何在Java Web环境中实现前端(jsp)和后端(通常为Servlet或Controller)的分页功能。以下将详细介绍这一过程。 首先,我们需要理解分页的基本概念。分页通常包括...

    jsp+servlet+mysql整合page分页插件

    在这个项目中,我们重点探讨的是如何利用Page分页插件来优化对MySQL数据库查询结果的展示,使得用户能够更方便地浏览大量数据。对于初学者来说,理解这一过程将有助于提升Web应用的用户体验。 首先,JSP是Java的一...

    Page分页实现代码

    分页通常涉及到两个关键参数:当前页码($currentPage)和每页显示的数据数量($itemsPerPage)。通过这两个参数,我们可以计算出应该从数据库中获取哪些数据。 1. **查询总记录数** 在实现分页前,我们需要先获取...

    bPage分页插件

    **bPage分页插件详解** 在Web开发中,数据量过大的页面通常需要采用分页来优化用户体验,便于用户浏览和查找信息。bPage是一款基于Bootstrap框架的分页插件,它以其简洁的Bootstrap风格、强大的功能以及良好的实用...

    JS-数据库page分页样式.rar

    "JS-数据库page分页样式.rar" 提到的正是关于JavaScript实现的数据库数据分页功能及相应的样式设计。下面我们将深入探讨这一主题。 首先,我们需要理解什么是数据分页。数据分页是将一个大的数据集分割成多个较小的...

    JDBC page 分页

    JDBC page 分页public class PageRoll { //当前页 private Integer currPage = 1; //总页数 private Integer countPage; //每页记录数 private Integer pageSize = 5; //总记录数 private Integer count...

    jquery.page分页控件02.zip

    《jQuery.page分页控件深度解析》 在Web开发中,数据展示往往涉及到大量的记录,这时就需要用到分页功能来提升用户体验。jQuery作为一个轻量级、高效的JavaScript库,为开发者提供了丰富的插件来实现这一功能。本篇...

    jquery.page分页控件.zip

    **jQuery.page分页控件详解** 在Web开发中,数据量较大的页面往往需要实现分页功能,以便用户能够逐页浏览信息,提高用户体验。jQuery.page是一个轻量级、易用的JavaScript插件,用于在网页中实现高效且美观的分页...

    巴巴运动商城page分页的jar包

    这个"巴巴运动商城page分页的jar包"显然包含了实现分页功能所需的类库和资源,对于开发者来说,是一个非常实用的学习和参考工具。 首先,让我们来深入理解分页的概念。分页是用来处理大量数据的常用方法,它将...

    2017最新24款page分页样式代码

    本文将详细探讨2017年发布的24款Page分页样式的代码,这些样式适用于各种类型的网站,无论是博客、电子商务平台还是内容管理系统,都能为用户提供直观且美观的浏览体验。"通用分页代码"这一标签表明这些代码具有广泛...

    divide_page分页插件

    "divide_page分页插件"是一款专为提升用户体验和数据管理效率而设计的工具,尤其适用于Web应用程序。分页在大数据展示中起着至关重要的作用,因为它允许用户以可管理的块来浏览大量信息,而不是一次性加载所有内容,...

    jqueryPage分页

    **jQueryPage分页技术详解** 在网页开发中,数据量庞大的时候,为了提高用户体验和页面加载速度,通常会采用分页技术。`jQueryPage` 是一个专门针对此需求设计的jQuery插件,它使得在网页中实现翻页和tab切换功能变...

    一个简单的page分页示例

    "一个简单的Page分页示例"标题所指的,是一个基本的分页实现,可能是在Java Web环境中,利用JSP(JavaServer Pages)技术完成的。这里我们将详细讨论Page分页的基本概念、实现原理以及相关的JSP语法。 首先,Page...

    jquerypage分页的CSS文件

    jquerypage分页的CSS文件

    百度page分页技术前端html代码

    这是一个百度page分页技术前端html代码,希望对大家有用。

    page分页管理

    "page分页管理"的标题暗示了我们要探讨的是如何在Java编程环境中实现高效的分页查询功能。在这个主题中,我们将深入理解分页的概念、Page类的作用,以及如何在DAO层和服务层中灵活运用。 首先,分页是将数据库中的...

    struts page分页

    Struts Page分页是Java Web开发中的一种常见技术,用于在Web应用中处理大量数据时进行数据展示的优化。在大型系统中,一次性加载所有数据不仅会影响页面加载速度,也会消耗大量的服务器资源。因此,分页成为了一种...

    page 分页 类

    "Page分页类"是用于实现这种功能的编程工具,通常在Java Web开发中被广泛使用。下面将详细讨论分页类的工作原理、常见设计模式以及与之相关的`Page1.java`、`CookieUtil.java`和`PageBean.java`等文件的作用。 分页...

    toPage分页.zip

    本主题聚焦于一个名为“toPage.js”的分页插件,它在原版基础上进行了改进,以适应不同的需求。下面我们将深入探讨这个插件的使用、功能以及可能遇到的问题与解决方案。 首先,`toPage.js` 是一个用于实现动态数据...

Global site tag (gtag.js) - Google Analytics