⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 paginate.java

📁 struts实现分页功能
💻 JAVA
字号:
package com.yourcompany.util;

import java.util.ArrayList;
import java.util.Iterator;

/**
 * 
 * @author dailin
 * 
 */
public class Paginate {
	int currentPage = 1; // 当前页

	int totalPages = 0; // 总页数

	int pageRecorders = 5;// 每页5条数据

	int totalRows = 0; // 总数据数

	int pageStartRow = 0;// 每页的起始数

	int pageEndRow = 0; // 每页显示数据的终止数

	boolean hasNextPage = false; // 是否有下一页

	boolean hasPreviousPage = false; // 是否有前一页

	Iterator it;

	// 直接跳转到第几页
	public ArrayList getList1(ArrayList alllist, int currentPage) {
		ArrayList list = new ArrayList();

		totalRows = alllist.size();
		it = alllist.iterator();
		hasPreviousPage = false;

		if ((totalRows % pageRecorders) == 0) {
			totalPages = totalRows / pageRecorders;
		} else {
			totalPages = totalRows / pageRecorders + 1;
		}

		if ((currentPage - 1) > 0) {
			hasPreviousPage = true;
		} else {
			hasPreviousPage = false;
		}
		if (currentPage >= totalPages) {

			hasNextPage = false;
		} else {
			hasNextPage = true;
		}

		if (totalRows < pageRecorders) {
			pageStartRow = 0;
			pageEndRow = totalRows;
		} else {
			pageStartRow = 0;
			pageEndRow = pageRecorders;
		}
		if (currentPage != 1) {
			if (currentPage * pageRecorders < totalRows) {// 判断是否为最后一页
				pageEndRow = currentPage * pageRecorders;
				pageStartRow = pageEndRow - pageRecorders;
			} else {
				pageEndRow = totalRows;
				pageStartRow = pageRecorders * (totalPages - 1);
			}
		}

		if (totalRows > 0) {
			for (int i = pageStartRow; i < pageEndRow; i++) {
				list.add(alllist.get(i));

			}

		}

		return list;

	}

	// 判断要显示第几页
	public int seenext(int nowPage, String action) {

		if (action == null || action.equals("null")) { // 第一次读取数据
			currentPage = 1;
		} else {
			if (action == "nextPage" || action.equals("nextPage")) // 点击下一页
			{
				currentPage = nowPage + 1;
			}
			if (action == "previousPage" || action.equals("previousPage")) // 点击上一页
			{
				currentPage = nowPage - 1;
			}
		}

		return currentPage;

	}

	/**
	 * 
	 * @param alllist
	 * @param nowPage
	 * @param action
	 * @return
	 */
	// 点击上一页下一页
	public ArrayList getList(ArrayList alllist, int nowPage, String action) {
		ArrayList list = new ArrayList();
		totalRows = alllist.size();
		hasPreviousPage = false;
		currentPage = seenext(nowPage, action);

		list = getList1(alllist, currentPage);

		return list;

	}

	/**
	 * 
	 * @return
	 */
	public int getCurrentPage() {
		return currentPage;
	}

	/**
	 * 
	 * @return
	 */
	public int getTotalRows() {
		return totalRows;
	}

	/**
	 * 
	 * @return
	 */
	public int getTotalPages() {

		return totalPages;
	}

	public boolean isHasNextPage() {
		return hasNextPage;
	}

	public boolean isHasPreviousPage() {
		return hasPreviousPage;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -