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是网页开发中用于实现分页功能的一种自定义控件。在Web应用程序中,当数据量庞大时,通常会采用分页来提高用户体验,避免一次性加载大量数据导致页面加载慢或者用户浏览不便。这个控件仅负责...
例如,`<pager:pagelist>`用于显示分页链接,`<pager:page>`则用来跳转到特定页码。通过配置这些标签,开发者可以轻松定制分页样式,包括页码展示、上一页/下一页按钮、总页数显示等。 为了使用`pager-taglib`,你...
标题中的“WHC.Pager.WinControl.dll”是一个动态链接库(DLL)文件,它在Windows环境中扮演着重要的角色。DLL文件通常包含可被其他应用程序调用的函数和资源,这里是用于实现分页功能的控件。这个特定的DLL可能是...
`pager-taglib`是Java Web开发中常用的分页标签库,它简化了在JSP页面上实现分页功能的过程。这个标签库通常与Spring MVC、Struts2等框架结合使用,提供了一种声明式的方式来展示数据分页。下面将详细解释`pager-...
本话题主要围绕"WHC.Pager.WinControl.dll"这个组件展开,它是一个专为WinForm设计的分页控件,旨在帮助开发者实现高效、便捷的数据分页展示功能。下面将详细介绍这个控件的使用方法、特点以及其在实际项目中的应用...
标题中的“Pager(通过的分页工具类)”显然指的是一个用于实现分页功能的Java类。在这个类中,开发者通常会封装分页操作的相关逻辑,以便在各种场景下复用。现在我们来详细探讨一下分页的基本概念、设计原则以及...
《z-pager.js分页插件详解》 在网页开发中,当数据量过大时,为了提高用户体验,通常会采用分页的方式来展示信息。这里我们要介绍的是一款名为`z-pager.js`的分页插件,它能帮助开发者快速、高效地实现网页分页功能...
Pager Tag Lib的核心是提供了一组预定义的JSP标签,如`<pager:pagelinks>`和`<pager:prevNext>`等,这些标签可以直接在JSP页面中使用,以实现分页功能。例如,`<pager:pagelinks>`标签可以自动生成页面链接,而`...
**标题解析:** "pager的js和css文件" 这个标题表明我们正在讨论一个用于分页功能的前端资源包,包含JavaScript (pager.js) 和 Cascading Style Sheets (CSS) (pager.css) 文件。在网页开发中,分页是常见的一种用户...
**ASP.NET分页组件——Pager2.0** 在ASP.NET开发中,数据展示往往需要处理大量的信息,这时分页功能显得尤为重要。Pager2.0是一款高效、易用的分页控件,它能够帮助开发者轻松地在网页上实现数据的分页显示,提升...
2. **使用分页标签**:`pager-taglib`提供了一些关键的标签,如`< pager:table >`、`< pager:page >`和`< pager:nav >`等。`< pager:table >`用于包裹整个表格,`< pager:page >`定义每一页的内容,`< pager:nav >`...
"pager-taglib-2.0完整部署运行"这个标题指的是一个特定的Java Web分页库的部署过程,它主要用于在Web应用中实现高效且灵活的分页功能。Pager Taglib是基于JSP标准标签库(JSTL)的一个扩展,为开发者提供了便捷的...
**Pager Taglib 2.0详解与使用指南** Pager Taglib是Java Web开发中的一个强大工具,主要用于实现页面的分页功能。它提供了一组自定义的JSP标签,简化了在网页上创建分页链接的过程,使得开发者可以更加专注于业务...
《Java分页标签库——pager-taglib-2.0详解》 在Web开发中,数据分页是一项必不可少的功能,它能够有效地管理大量数据,提高页面加载速度,优化用户体验。Java中,`pager-taglib-2.0`是一个专门用于处理分页的标签...
**标题:“pager-taglib.jar包下载”** 在Java Web开发中,分页是常见的功能需求,用于处理大量的数据展示,避免一次性加载所有数据导致页面响应慢或者内存压力过大。`pager-taglib.jar`是一个专为Java Web应用设计...
Pager Taglib通过提供自定义的JSP标签,比如`<pager:page>`、`<pager:first>`、`<pager:last>`、`<pager:prev>`和`<pager:next>`,简化了以上步骤。使用这些标签,开发者只需在JSP页面中添加适当的标签,然后配置...
### pager标签库使用详解 #### 一、简介 `Pager-taglib`是一个专门为JSP页面设计的标签库,用于实现多样化的分页显示效果。它不仅内置了多种分页样式,还支持用户自定义分页样式,使得开发人员能够轻松地在网页中...
网页Flash文章阅读器结合FlashPager是一种在线文档展示技术,它为用户提供了一种类似于百度文库的阅读体验。FlashPager的设计灵感来源于实体书籍的翻页效果,通过动态的SWF(ShockWave Flash)文件来实现页面的平滑...
《jQuery分页插件jQuery-pager-1.0详解》 在Web开发中,当页面数据量过大时,为了提高用户体验,通常会采用分页显示的方式。jQuery-pager-1.0是一个轻量级的jQuery分页插件,它使得在网页上实现分页功能变得简单...