`
toyota2006
  • 浏览: 552265 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

Pager

 
阅读更多
import java.util.ArrayList;
import java.util.List;
public class Pager {
	public int currentPage = 0;
	private int nextPage;
	private int previousPage;
	private int fristPage;
	public int lastPage;
	private int pageSize = 10;
	private int record_cnt = 67;
	public List<String> currentRecords;
	public List<String> allRecords;

	public Pager(List<String> _allRecords, int _pageSize) {
		this.pageSize = _pageSize;
		allRecords = _allRecords;
		record_cnt = allRecords.size();
		lastPage = this.record_cnt / this.pageSize + 1;
	}
	
	public int getCurrentPage() {
		return currentPage;
	}

	private int getNextPageNum() {
		if (currentPage < lastPage) {
			nextPage = currentPage + 1;
		} else {
			nextPage = lastPage;
		}
		return nextPage;
	}

	public List<String> getJumpPageRecords(int jumpPage) {
		if (jumpPage >= this.lastPage) {
			return this.getLastPageRecords();
		} else if (jumpPage <= this.fristPage) {
			return this.getFirstPageRecords();
		} else {
			this.currentRecords = new ArrayList<String>();
			for (int i = (jumpPage - 1) * pageSize; i < jumpPage * pageSize; i++) {
				this.currentRecords.add(this.allRecords.get(i));
			}
			this.currentPage = jumpPage;
			return currentRecords;
		}

	}

	public List<String> getNextPageRecords() {
		getNextPageNum();
		if (this.currentPage == lastPage) {
			System.out.println("Already was the last page!!!");
			return null;
		}
		if (nextPage == this.lastPage) {
			return this.getLastPageRecords();
		} else {
			this.currentRecords = new ArrayList<String>();
			for (int i = currentPage * pageSize; i < nextPage * pageSize; i++) {
				this.currentRecords.add(this.allRecords.get(i));
			}
			currentPage = nextPage;
			return currentRecords;
		}

	}

	public List<String> getPreviousPageRecords() {
		this.getPreviousPage();
		if (this.currentPage == 1) {
			System.out.println("Already was the first page!!!");
			return null;
		}
		if (previousPage == 1) {
			return this.getFirstPageRecords();
		} else {
			this.currentRecords = new ArrayList<String>();
			for (int i = (previousPage - 1) * pageSize; i < previousPage
					* pageSize; i++) {
				this.currentRecords.add(this.allRecords.get(i));
			}
			currentPage = previousPage;
			return currentRecords;
		}
	}

	public List<String> getFirstPageRecords() {
		if (lastPage == 1) {
			return this.allRecords;
		} else {
			this.currentRecords = new ArrayList<String>();
			for (int i = 0; i < this.pageSize; i++) {
				this.currentRecords.add(allRecords.get(i));
			}
			this.currentPage = 1;
			return currentRecords;
		}
	}

	public List<String> getLastPageRecords() {
		if (lastPage == 1) {
			return this.allRecords;
		} else {
			this.currentRecords = new ArrayList<String>();
			for (int i = (lastPage - 1) * pageSize; i < this.record_cnt; i++) {
				this.currentRecords.add(allRecords.get(i));
			}
			this.currentPage = lastPage;
			return currentRecords;
		}
	}

	private int getPreviousPage() {
		if (this.currentPage > 1) {
			previousPage = currentPage - 1;
		} else {
			previousPage = 1;
		}
		return previousPage;
	}

	public int getFristPage() {
		fristPage = 0;
		return fristPage;
	}

	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}

	// public List<String>
	public static void main(String[] args) {
		List<String> pageRecords = new ArrayList<String>();
		for (int i = 1; i <= 59; i++) {
			pageRecords.add("-+-" + i + "---");
		}
		Pager p = new Pager(pageRecords, 5);
		System.out.println("all: " + p.lastPage);
		List<String> r = p.getJumpPageRecords(2);
		if (r != null) {
			for (String a : r) {
				System.out.print(a + " | ");
			}
			System.out.println();
			System.out.println("--------current page is :" + p.currentPage
					+ " --------");
		}

		List<String> r2 = p.getNextPageRecords();
		if (r2 != null) {
			for (String a : r2) {
				System.out.print(a + " | ");
			}
			System.out.println();
			System.out.println("--------current page is :" + p.currentPage
					+ " --------");
		}

		List<String> r3 = p.getNextPageRecords();
		if (r3 != null) {
			for (String a : r3) {
				System.out.print(a + " | ");
			}
			System.out.println();
			System.out.println("--------current page is :" + p.currentPage
					+ " --------");
		}

		List<String> r4 = p.getPreviousPageRecords();
		if (r4 != null) {
			for (String a : r4) {
				System.out.print(a + " | ");
			}
			System.out.println();
			System.out.println("--------current page is :" + p.currentPage
					+ " --------");
		}

		List<String> r5 = p.getFirstPageRecords();
		if (r5 != null) {
			for (String a : r5) {
				System.out.print(a + " | ");
			}
			System.out.println();
			System.out.println("--------current page is :" + p.currentPage
					+ " --------");
		}
		List<String> r6 = p.getLastPageRecords();
		if (r6 != null) {
			for (String a : r6) {
				System.out.print(a + " | ");
			}
			System.out.println();
			System.out.println("--------current page is :" + p.currentPage
					+ " --------");
		}

		List<String> r7 = p.getNextPageRecords();
		if (r7 != null) {
			for (String a : r7) {
				System.out.print(a + " | ");
			}
			System.out.println();
			System.out.println("--------current page is :" + p.currentPage
					+ " --------");
		}
		List<String> r8 = p.getFirstPageRecords();
		if (r8 != null) {
			for (String a : r8) {
				System.out.print(a + " | ");
			}
			System.out.println();
			System.out.println("--------current page is :" + p.currentPage
					+ " --------");
		}
		List<String> r9 = p.getPreviousPageRecords();
		if (r9 != null) {
			for (String a : r9) {
				System.out.print(a + " | ");
			}
			System.out.println();
			System.out.println("--------current page is :" + p.currentPage
					+ " --------");
		}
		for (int i = 0; i < 17; i++) {
			List<String> r12 = p.getNextPageRecords();
			if (r12 != null) {
				for (String a : r12) {
					System.out.print(a + " | ");
				}
				System.out.println();
				System.out.println("--------current page is :" + p.currentPage
						+ " --------");
			}
		}
		for (int i = 0; i < 12; i++) {
			List<String> r12 = p.getPreviousPageRecords();
			if (r12 != null) {
				for (String a : r12) {
					System.out.print(a + " | ");
				}
				System.out.println();
				System.out.println("--------current page is :" + p.currentPage
						+ " --------");
			}
		}
		List<String> r11 = p.getJumpPageRecords(9);
		if (r11 != null) {
			for (String a : r11) {
				System.out.print(a + " | ");
			}
			System.out.println();
			System.out.println("--------current page is :" + p.currentPage
					+ " --------");
		}
		for (int i = 0; i < 19; i++) {
			List<String> r12 = p.getPreviousPageRecords();
			if (r12 != null) {
				for (String a : r12) {
					System.out.print(a + " | ");
				}
				System.out.println();
				System.out.println("--------current page is :" + p.currentPage
						+ " --------");
			}
		}
	}
}
分享到:
评论

相关推荐

    ASP.NET PagerControl

    ASP.NET的PagerControl是网页开发中用于实现分页功能的一种自定义控件。在Web应用程序中,当数据量庞大时,通常会采用分页来提高用户体验,避免一次性加载大量数据导致页面加载慢或者用户浏览不便。这个控件仅负责...

    使用pager-taglib分页完整例子

    例如,`&lt;pager:pagelist&gt;`用于显示分页链接,`&lt;pager:page&gt;`则用来跳转到特定页码。通过配置这些标签,开发者可以轻松定制分页样式,包括页码展示、上一页/下一页按钮、总页数显示等。 为了使用`pager-taglib`,你...

    WHC.Pager.WinControl.dll

    标题中的“WHC.Pager.WinControl.dll”是一个动态链接库(DLL)文件,它在Windows环境中扮演着重要的角色。DLL文件通常包含可被其他应用程序调用的函数和资源,这里是用于实现分页功能的控件。这个特定的DLL可能是...

    pager-taglib 分页标签使用

    `pager-taglib`是Java Web开发中常用的分页标签库,它简化了在JSP页面上实现分页功能的过程。这个标签库通常与Spring MVC、Struts2等框架结合使用,提供了一种声明式的方式来展示数据分页。下面将详细解释`pager-...

    WHC.Pager.WinControl.dll winform分页空间下载

    本话题主要围绕"WHC.Pager.WinControl.dll"这个组件展开,它是一个专为WinForm设计的分页控件,旨在帮助开发者实现高效、便捷的数据分页展示功能。下面将详细介绍这个控件的使用方法、特点以及其在实际项目中的应用...

    Pager(通过的分页工具类)

    标题中的“Pager(通过的分页工具类)”显然指的是一个用于实现分页功能的Java类。在这个类中,开发者通常会封装分页操作的相关逻辑,以便在各种场景下复用。现在我们来详细探讨一下分页的基本概念、设计原则以及...

    z-pager.js分页插件.zip

    《z-pager.js分页插件详解》 在网页开发中,当数据量过大时,为了提高用户体验,通常会采用分页的方式来展示信息。这里我们要介绍的是一款名为`z-pager.js`的分页插件,它能帮助开发者快速、高效地实现网页分页功能...

    Pager Tag Lib分页操作源码

    Pager Tag Lib的核心是提供了一组预定义的JSP标签,如`&lt;pager:pagelinks&gt;`和`&lt;pager:prevNext&gt;`等,这些标签可以直接在JSP页面中使用,以实现分页功能。例如,`&lt;pager:pagelinks&gt;`标签可以自动生成页面链接,而`...

    pager的js和css文件

    **标题解析:** "pager的js和css文件" 这个标题表明我们正在讨论一个用于分页功能的前端资源包,包含JavaScript (pager.js) 和 Cascading Style Sheets (CSS) (pager.css) 文件。在网页开发中,分页是常见的一种用户...

    pager2.0(asp.net分页组件)

    **ASP.NET分页组件——Pager2.0** 在ASP.NET开发中,数据展示往往需要处理大量的信息,这时分页功能显得尤为重要。Pager2.0是一款高效、易用的分页控件,它能够帮助开发者轻松地在网页上实现数据的分页显示,提升...

    jsp pager-taglib分页资料

    2. **使用分页标签**:`pager-taglib`提供了一些关键的标签,如`&lt; pager:table &gt;`、`&lt; pager:page &gt;`和`&lt; pager:nav &gt;`等。`&lt; pager:table &gt;`用于包裹整个表格,`&lt; pager:page &gt;`定义每一页的内容,`&lt; pager:nav &gt;`...

    pager-taglib-2.0完整部署运行

    "pager-taglib-2.0完整部署运行"这个标题指的是一个特定的Java Web分页库的部署过程,它主要用于在Web应用中实现高效且灵活的分页功能。Pager Taglib是基于JSP标准标签库(JSTL)的一个扩展,为开发者提供了便捷的...

    pager-taglib-2.0及使用方法

    **Pager Taglib 2.0详解与使用指南** Pager Taglib是Java Web开发中的一个强大工具,主要用于实现页面的分页功能。它提供了一组自定义的JSP标签,简化了在网页上创建分页链接的过程,使得开发者可以更加专注于业务...

    pager-taglib-2.0

    《Java分页标签库——pager-taglib-2.0详解》 在Web开发中,数据分页是一项必不可少的功能,它能够有效地管理大量数据,提高页面加载速度,优化用户体验。Java中,`pager-taglib-2.0`是一个专门用于处理分页的标签...

    pager-taglib.jar包下载

    **标题:“pager-taglib.jar包下载”** 在Java Web开发中,分页是常见的功能需求,用于处理大量的数据展示,避免一次性加载所有数据导致页面响应慢或者内存压力过大。`pager-taglib.jar`是一个专为Java Web应用设计...

    pager-taglib.jar

    Pager Taglib通过提供自定义的JSP标签,比如`&lt;pager:page&gt;`、`&lt;pager:first&gt;`、`&lt;pager:last&gt;`、`&lt;pager:prev&gt;`和`&lt;pager:next&gt;`,简化了以上步骤。使用这些标签,开发者只需在JSP页面中添加适当的标签,然后配置...

    pager标签库使用详解

    ### pager标签库使用详解 #### 一、简介 `Pager-taglib`是一个专门为JSP页面设计的标签库,用于实现多样化的分页显示效果。它不仅内置了多种分页样式,还支持用户自定义分页样式,使得开发人员能够轻松地在网页中...

    网页Flash文章阅读器结合FlashPager

    网页Flash文章阅读器结合FlashPager是一种在线文档展示技术,它为用户提供了一种类似于百度文库的阅读体验。FlashPager的设计灵感来源于实体书籍的翻页效果,通过动态的SWF(ShockWave Flash)文件来实现页面的平滑...

    jquery-pager-1.0

    《jQuery分页插件jQuery-pager-1.0详解》 在Web开发中,当页面数据量过大时,为了提高用户体验,通常会采用分页显示的方式。jQuery-pager-1.0是一个轻量级的jQuery分页插件,它使得在网页上实现分页功能变得简单...

Global site tag (gtag.js) - Google Analytics