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

📄 pager.java

📁 基于hibernate + struts框架 采用mssql数据库,因容量原因,把lib删去了. 由于这是我第一个作品,有很多地方需要改进. 希望大家多提意见. qq: 258268936
💻 JAVA
字号:
package com.hdlb.util;

public class Pager {

	private int totalRows = 0; // 记录总数

	private int totalPages = 0; // 总页数

	private int pageSize = 10; // 每页显示数据条数,默认为10条记录

	private int currentPage = 1; // 当前页数

	private boolean hasPrevious = false; // 是否有上一页

	private boolean hasNext = false; // 是否有下一页

	public Pager() {

	}

	/**
	 * 
	 * Initialize Pager
	 * 
	 * @param totalRows
	 *            total record rows
	 * 
	 * @param pageSize
	 *            total record is hold by every page
	 * 
	 */

	public void init(int totalRows, int pageSize) {

		this.totalRows = totalRows;

		this.pageSize = pageSize;

		totalPages = ((totalRows + pageSize) - 1) / pageSize;

		refresh(); // 刷新当前页面信息

	}

	/**
	 * 
	 * @return Returns the currentPage.
	 * 
	 */

	public int getCurrentPage() {

		return currentPage;

	}

	/**
	 * 
	 * @param currentPage
	 *            current page
	 * 
	 */

	public void setCurrentPage(int currentPage) {

		this.currentPage = currentPage;

		refresh();

	}

	/**
	 * 
	 * @return Returns the pageSize.
	 * 
	 */

	public int getPageSize() {

		return pageSize;

	}

	/**
	 * 
	 * @param pageSize
	 *            The pageSize to set.
	 * 
	 */

	public void setPageSize(int pageSize) {

		this.pageSize = pageSize;

		refresh();

	}

	/**
	 * 
	 * @return Returns the totalPages.
	 * 
	 */

	public int getTotalPages() {

		return totalPages;

	}

	/**
	 * 
	 * @param totalPages
	 *            The totalPages to set.
	 * 
	 */

	public void setTotalPages(int totalPages) {

		this.totalPages = totalPages;

		refresh();

	}

	/**
	 * 
	 * @return Returns the totalRows.
	 * 
	 */

	public int getTotalRows() {

		return totalRows;

	}

	/**
	 * 
	 * @param totalRows
	 *            The totalRows to set.
	 * 
	 */

	public void setTotalRows(int totalRows) {

		this.totalRows = totalRows;

		refresh();

	}

	// 跳到第一页

	public void first() {

		currentPage = 1;

		this.setHasPrevious(false);

		refresh();

	}

	// 取得上一页(重新设定当前页面即可)

	public void previous() {

		currentPage--;

		refresh();

	}

	// 取得下一页

	public void next() {

		System.out.println("next: totalPages: " + totalPages +

		" currentPage : " + currentPage);

		if (currentPage < totalPages) {

			currentPage++;

		}

		refresh();

	}

	// 跳到最后一页

	public void last() {

		currentPage = totalPages;

		this.setHasNext(false);

		refresh();

	}

	public boolean isHasNext() {

		return hasNext;

	}

	/**
	 * 
	 * @param hasNext
	 *            The hasNext to set.
	 * 
	 */

	public void setHasNext(boolean hasNext) {

		this.hasNext = hasNext;

	}

	public boolean isHasPrevious() {

		return hasPrevious;

	}

	/**
	 * 
	 * @param hasPrevious
	 *            The hasPrevious to set.
	 * 
	 */

	public void setHasPrevious(boolean hasPrevious) {

		this.hasPrevious = hasPrevious;

	}

	// 刷新当前页面信息

	public void refresh() {

		if (totalPages <= 1) {

			hasPrevious = false;

			hasNext = false;

		} else if (currentPage == 1) {

			hasPrevious = false;

			hasNext = true;

		} else if (currentPage == totalPages) {

			hasPrevious = true;

			hasNext = false;

		} else {

			hasPrevious = true;

			hasNext = true;

		}

	}

}

⌨️ 快捷键说明

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