求一个简洁点的分页代码

在改一个jsp/serlvet/javabean 的Project,在一个jsp中有多个submit 提交带着各种不同的条件去查询list 数据,然后再显示回这个jsp 页面.
我当前写了一个class 类,听说后面的步骤只要在jsp中声明对象,并传入相应的参数就ok 了,但是在jsp中怎么就不知道了.下面我贴出已写的代码希望能有人帮我把jsp部分补下.
[code="java"]import java.util.ArrayList;

/**

  • 这个就是用来做分页的类
  • @author zzy
  • 创建时间:2009.3.19
  • */
    public class PagInation {

    //当前的页码数
    private int currentPage ;
    //每页显示多少行
    private int showRow ;
    //结果集的总行数
    private int totalRecords ;
    //结果集
    private ArrayList objList ;

    /**

    • 获取总页码数 (这是计算总页码数的一个不错的算法)
    • @return int
    • */ public int getTotalPages(){ return (this.totalRecords + this.showRow - 1)/this.showRow; }

    /**

    • 获取首页码数
    • @return int
    • */ public int getFristPageNumber(){ return 1 ; }

    /**

    • 获得尾页码数
    • @return int
    • */ public int getBottomPageNumber(){ return this.getTotalPages();
      }

    /**

    • 获取上一页码数
    • @return int
    • */ public int getPerviousPageNumber(){ if(this.currentPage <= 1){ return 1; } return this.currentPage - 1 ; }

    /**

    • 获取下一页码数
    • @return int
    • */ public int getNextPageNumber(){ if(this.currentPage == this.getBottomPageNumber()){ return this.getBottomPageNumber() ; } return this.currentPage + 1 ; }

    /**

    • 获取当前页码数
    • @return int
    • */ public int getCurrentPage() { return currentPage; }

    public void setCurrentPage(int currentPage) {
    this.currentPage = currentPage;
    }

    public int getShowRow() {
    return showRow;
    }

    public void setShowRow(int showRow) {
    this.showRow = showRow;
    }

    public int getTotalRecords() {
    return totalRecords;
    }

    public void setTotalRecords(int totalRecords) {
    this.totalRecords = totalRecords;
    }

    public ArrayList getObjList() {
    return objList;
    }

    public void setObjList(ArrayList objList) {
    this.objList = objList;
    }
    }[/code]

不推荐使用 list分页,这样直接就把所有数据查出来了.其实这个是内存分页了.并没有什么好的效率,如果数据有1000万条,那这个简直就是噩梦,

推荐使用 数据库端分页,前台只传条件.后台数据库查询,虽然查询次数多了.但不会有噩梦
到我的博客下载图书管理系统 http://yourgame.iteye.com/blog/252853

我这个系统里面的分页是采用数据库端的.效率高许多.而且我也封装了一个分页的Class 叫做 Page 查询的时候,穿件这个类的一个对象,设置分页信息,查询后把这个对象重新返回业务层,需要的数据已经保存在root里面了.记录总数也保存在totalProperty里面了.

[code="java"]package com.lhq.prj.bms.core;

import java.util.List;

public class Page {
/** 总记录数 */
private int totalProperty;

/** 分页结果 */
private List root;

/** 开始页码 */
private int start;

/** 每页多少 */
private int limit;

/** 成功与否 */
private boolean success;

/** 查询条件 */
private List conditions;

private Object objCondition;

public Object getObjCondition() {
    return objCondition;
}

public void setObjCondition(Object objCondition) {
    this.objCondition = objCondition;
}

public int getLimit() {
    return limit;
}

public void setLimit(int limit) {
    this.limit = limit;
}

public List getRoot() {
    return root;
}

public void setRoot(List root) {
    this.root = root;
}

public int getStart() {
    return start;
}

public void setStart(int start) {
    this.start = start;
}

public boolean isSuccess() {
    return success;
}

public void setSuccess(boolean success) {
    this.success = success;
}

public int getTotalProperty() {
    return totalProperty;
}

public void setTotalProperty(int totalProperty) {
    this.totalProperty = totalProperty;
}

public List getConditions() {
    return conditions;
}

public void setConditions(List conditions) {
    this.conditions = conditions;
}

}
[/code]

http://programming.iteye.com/admin/blogs/354286

最下面一段。