直接写一个公用的类(javabean)到时直接调用就可以了至于如何写javabean,一句两句也说不清楚,可以参考相关书籍看看
如何使用标签,这个偶正在研究中,有点底子之后欧会发文的
赫赫

解决方案 »

  1.   

    給分
    public class ChangePage {
       private int pageIndex = 0;
        private int viewType = 0;
        private boolean firstStatus = false;
        private boolean forwardSatus = false;
        private boolean nextStatus = false;
        private boolean lastStatus = false;
        private boolean allView = true;
        private int start=0;
        private int end=0;
        private int maxPage=0;    public void ChangePage() {    }    public int getPageIndex() {
            return pageIndex;
        }    public void setPageIndex(int pageIndex) {
            this.pageIndex = pageIndex;
        }    public int getViewType() {
            return viewType;
        }    public void setViewType(int viewType) {
            this.viewType = viewType;
        }    public boolean isFirstStatus() {
            return firstStatus;
        }    public void setFirstStatus(boolean firstStatus) {
            this.firstStatus = firstStatus;
        }    public boolean isForwardSatus() {
            return forwardSatus;
        }    public void setForwardSatus(boolean forwardSatus) {
            this.forwardSatus = forwardSatus;
        }    public boolean isNextStatus() {
            return nextStatus;
        }    public void setNextStatus(boolean nextStatus) {
            this.nextStatus = nextStatus;
        }    public boolean isLastStatus() {
            return lastStatus;
        }    public void setLastStatus(boolean lastStatus) {
            this.lastStatus = lastStatus;
        }    public boolean isAllView() {
            return allView;
        }    public void setAllView(boolean allView) {
            this.allView = allView;
        }
        public int getStart() {
            return start;
        }
        public void setStart(int start) {
            this.start = start;
        }
        public int getEnd() {
            return end;
        }
        public void setEnd(int end) {
            this.end = end;
        }
        public int getMaxPage() {
            return maxPage;
        }
        public void setMaxPage(int maxPage) {
            this.maxPage = maxPage;
        }
    }
      

  2.   

    public class ChangePageDAO {
        private static ChangePageDAO _self;
        public static ChangePageDAO getInstance() {
            if (_self == null) {
                _self = new ChangePageDAO();
            }
            return _self;
        }    public ChangePage getChangePageInfo(int pageIndex, int type, int rowCount,int allCount) {
            ChangePage changePage = null;
            int maxPage=allCount/rowCount;
            if (pageIndex >= 0 && type >= 0 && rowCount >= 0) {
                changePage=new ChangePage();
                changePage.setMaxPage(maxPage);
                if(allCount % rowCount==0&&allCount>0){
                    maxPage=maxPage-1;
                    }
                switch (type) {
                    case 1:
                        changePage.setPageIndex(0);
                        changePage.setStart(0);
                        changePage.setEnd(rowCount);
                        changePage.setFirstStatus(false);
                        changePage.setForwardSatus(false);
                        pageIndex=0;
                        if(pageIndex==maxPage){
                            changePage.setNextStatus(false);
                        }
                        else{
                            changePage.setNextStatus(true);
                        }
                        if(pageIndex==maxPage){
                            changePage.setLastStatus(false);
                        }
                        else{
                            changePage.setLastStatus(true);
                        }
                        break;
                    case 2:
                        if(pageIndex>0){
                            pageIndex=pageIndex-1;
                        }
                        changePage.setPageIndex(pageIndex);
                        changePage.setStart(pageIndex*rowCount);
                        changePage.setEnd(changePage.getStart()+rowCount);
                        if(pageIndex==0){
                            changePage.setFirstStatus(false);
                        }
                        else{
                            changePage.setFirstStatus(true);
                        }
                        if(pageIndex==0){
                            changePage.setForwardSatus(false);
                        }
                        else{
                            changePage.setForwardSatus(true);
                        }
                        if(pageIndex==maxPage){
                            changePage.setNextStatus(false);
                        }
                        else{
                            changePage.setNextStatus(true);
                        }
                        if(pageIndex==maxPage){
                            changePage.setLastStatus(false);
                        }
                        else{
                            changePage.setLastStatus(true);
                        }
                        break;
                    case 3:
                        if(pageIndex>=0&&pageIndex<maxPage){
                            pageIndex=pageIndex+1;
                        }
                        changePage.setPageIndex(pageIndex);
                        changePage.setStart(pageIndex*rowCount);
                        changePage.setEnd(changePage.getStart()+rowCount);
                        if(changePage.getEnd()>allCount){
                            changePage.setEnd(allCount);
                        }
                        if(pageIndex==0){
                            changePage.setFirstStatus(false);
                        }
                        else{
                            changePage.setFirstStatus(true);
                        }
                        if(pageIndex==0){
                            changePage.setForwardSatus(false);
                        }
                        else{
                            changePage.setForwardSatus(true);
                        }                    if(pageIndex==maxPage){
                            changePage.setNextStatus(false);
                        }
                        else{
                            changePage.setNextStatus(true);
                        }
                        if(pageIndex==maxPage){
                            changePage.setLastStatus(false);
                        }
                        else{
                            changePage.setLastStatus(true);
                        }
                        break;                case 4:
                        changePage.setPageIndex(maxPage);
                        changePage.setStart(maxPage*rowCount);
                        changePage.setEnd(allCount);
                        pageIndex=maxPage;
                        if(pageIndex==0){
                            changePage.setFirstStatus(false);
                        }
                        else{
                            changePage.setFirstStatus(true);
                        }
                        if(pageIndex==0){
                            changePage.setForwardSatus(false);
                        }
                        else{
                            changePage.setForwardSatus(true);
                        }
                        changePage.setNextStatus(false);
                        changePage.setLastStatus(false);
                        break;
                    case 5:
                        changePage.setPageIndex(0);
                        changePage.setStart(0);
                        changePage.setEnd(allCount);
                        changePage.setFirstStatus(false);
                        changePage.setForwardSatus(false);
                        changePage.setNextStatus(false);
                        changePage.setLastStatus(false);
                        changePage.setAllView(false);
                        break;
                    case 6:
                        changePage.setPageIndex(pageIndex);
                        changePage.setStart(pageIndex*rowCount);
                        changePage.setEnd(changePage.getStart()+rowCount);
                        if(changePage.getEnd()>allCount){
                            changePage.setEnd(allCount);
                        }
                        if(pageIndex==0){
                            changePage.setFirstStatus(false);
                        }
                        else{
                            changePage.setFirstStatus(true);
                        }
                        if(pageIndex==0){
                            changePage.setForwardSatus(false);
                        }
                        else{
                            changePage.setForwardSatus(true);
                        }
                        if(pageIndex==maxPage){
                            changePage.setNextStatus(false);
                        }
                        else{
                            changePage.setNextStatus(true);
                        }
                        if(pageIndex==maxPage){
                            changePage.setLastStatus(false);
                        }
                        else{
                            changePage.setLastStatus(true);
                        }
                        break;
                    default:
                        changePage.setPageIndex(0);
                        changePage.setStart(0);
                        changePage.setEnd(rowCount);
                        if(changePage.getEnd()>allCount){
                            changePage.setEnd(allCount);
                        }
                        changePage.setFirstStatus(false);
                        changePage.setForwardSatus(false);
                        if(pageIndex==maxPage){
                            changePage.setNextStatus(false);
                        }
                        else{
                            changePage.setNextStatus(true);
                        }
                        if(pageIndex==maxPage){
                            changePage.setLastStatus(false);
                        }
                        else{
                            changePage.setLastStatus(true);
                        }
                        break;
                }
            }
            return changePage;
        }這兩個類,
      

  3.   

    to  Ronanljy(心灵风暴) 
    你之前查询数据库时把所有的结果查出来了保存起来吗,
    每次翻页时都要调用后台这个类,每次用不用查数据库?
      

  4.   

    研究一下struts 的分页方式
      

  5.   

    分页是比较麻烦的,多学习javabean吧,偶也关注。
      

  6.   

    package com;import conn.DBConnManager;
    import java.sql.*;
    import java.util.*;public class ResultGatherPro 
    {
    String sql;
    int intPageSize; //每页行数
    public int intRowCount;
    int intPageCount;
    int intPage; //页号
    String Counter; public ResultGatherPro(String sqlcom,int rownum,int pagenum,String counter)
    {
    sql=sqlcom;
    intPageSize = rownum;
    intPage = pagenum;
    Counter = counter;
    }
    public List selectRS()
    {
    List rsall = new ArrayList();
    Map rsTree;
    try{
    DBConnManager conn = new DBConnManager();
    Connection con = conn.getConnection("mssql");
    Statement st = con.createStatement();
    ResultSet rsc=st.executeQuery(Counter);
    while(rsc.next())
    {
    intRowCount=rsc.getInt("allrow");
    }
    rsc.close();
    st.close();
    CallableStatement stmt = con.prepareCall("{call p_show(\""+sql+"\","+intPageSize+","+intPage+")}");
    ResultSet rs = stmt.executeQuery();
        ResultSetMetaData rsmd = rs.getMetaData();
        int numberOfColumns = rsmd.getColumnCount();
        Object[] aa = new Object[numberOfColumns-1];
    intPageCount = (intRowCount+intPageSize-1)/intPageSize;
    while(rs.next())
    {
    rsTree = new HashMap(numberOfColumns);
    for(int r=1;r<numberOfColumns+1;r++)
    {
    rsTree.put(rsmd.getColumnName(r),rs.getObject(r));
    }
    rsall.add(rsTree);
    }
    rs.close();
    stmt.close();
    conn.releaseConnection("mssql",con);
    }catch(java.lang.Exception ex){
    ex.printStackTrace();
    }
    return rsall;
    }
    public String ChangePage(String pagename,String url)
    {
    String urlchange=null;
    if(intPage>1 && intPage<intPageCount)
    {
    urlchange="<a href="+pagename+"?pagenum="+(intPage-1)+url+">上一页</a><a href="+pagename+"?pagenum="+(intPage+1)+url+"> 下一页</a> 第"+intPage+"页 共"+intPageCount+"页 共"+intRowCount+"条";
    }else if(intPage==1 && intRowCount<=intPageSize){
    urlchange="上一页 下一页 第"+intPage+"页 共"+intPageCount+"页 共"+intRowCount+"条";
    }else if(intPage==intPageCount && intPage!=1){
    urlchange="<a href="+pagename+"?pagenum="+(intPage-1)+url+">上一页</a> 下一页 第"+intPage+"页 共"+intPageCount+"页 共"+intRowCount+"条";
    }else if(intPage==1 && intRowCount>=intPageSize){
    urlchange="上一页 <a href="+pagename+"?pagenum="+(intPage+1)+url+"> 下一页</a> 第"+intPage+"页 共"+intPageCount+"页 共"+intRowCount+"条";
    }
    return urlchange;
    }
    }自己写的
      

  7.   

    不好意思记错了,应该是"共几页、每页几项、当前第几页",出来就是一个页面显示的html代码的字符串。To:liuyb94242()   我的方法比较粗,但是已经够用了。每次都要查数据库,查出所有数据。这里是可以得到总记录条数的语句:
            ResultSet rs = stmt.executeQuery(query);
            rs.last();
            int result = rs.getRow();
    除一下就是总页数。数据库操作:
            ResultSet rs = stmt.executeQuery(query);
            int index = (page - 1) * pageSize;
            if (index > 0)
            {
               rs.absolute(index);
            }
            for (int i = 0; i < pageSize && rs.next(); i++)
            {
               封装到Vector;
            }
            rs.close();