Struts+hibernate分页显示(资料二)[Pager类]
时间:2007-08-08 来源:sdwsyjp
pager类(一) |
Pager类
package com.jpcf.db.helper; import java.math.*;
public class Pager {
public Pager() {
public Pager(int _totalRows) {//总行数作为传入参数
public int getStartRow() {
public int getTotalPages() {
public int getCurrentPage() {
public int getPageSize() {
public void setTotalRows(int totalRows) {
public void setStartRow(int startRow) {
public void setTotalPages(int totalPages) {
public void setCurrentPage(int currentPage) {
public void setPageSize(int pageSize) {
public int getTotalRows() {
public void first() { //回首页
public void previous() {//上一页
public void next() {//下一页
public void last() {//最后一页
public void refresh(int _currentPage) { } |
pager类(二) |
Pager 包含了分页信息的类,包括页面总数,记录总数,当前第几页
/* * @(#)Pager.java 2005-5-3 * * Copyright (c) 2005, Jeffrey Hsu */ package com.jeffrey.messagelove;
/** * Pager holds the page info. */ 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; } } }
|
pager类一:通俗,容易理解,实现思路清晰;
pager类二:参考;
个人意见,视个人情况而定。