网站建议:179001057@qq.com

JavaBean+Jsp 实现页面分页

技术2022-05-11  1

import Java.SQL.*; import Javax.servlet.*;// 引入servlet包 import Javax.servlet.http.*; import Java.math.*; public class  Pagination{    private String strPage = null;// page参数变量    private int curPages;// page参数内部的值    private int m_rows; // 设置每页显示的页数    private int pages;// 总页数    // 取得test.jsp里的test.jsp?page=<%=curPages-1%>或是page=<%=curPages+1%>的值给变量strPage    public String strPage(HttpServletRequest request, String page){       try{ strPage = request.getParameter(page);// request对象取得page的值       }       catch(Exception e){            System.out.println("delcolumn"+e.getMessage());          }       return strPage;// 返回这个值。    } // 页面数    public int curPages(String strPage){        try{            if(strPage == null){// 默认没有就设置是第一页                curPages = 1;            }            else{                curPages = Integer.parseInt(strPage);// 取得strPage的整数值                if(curPages < 1)// 如果小于1,同样返回是第一页                    curPages = 1;            }        }        catch(Exception e){            System.out.print("curPages");        }        return curPages;// 返回页面数    } // 设置每页要显示的记录数    public void setRows(int rows){      &nb sp; m_rows=rows;    }    // 取得页数    public int getPages(int rowcounts){        int test;// 变量        test=rowcounts%m_rows;// 取得余数        if(test==0)            pages = rowcounts/m_rows;// 每页显示的整数            else            pages=rowcounts/m_rows+1;// 不是的话就加一        return pages;// 返回页数    } // 结果集的返回    public ResultSet getPageSet(ResultSet rs,int curPages){        if(curPages==1){            return rs;// 如果是就一页的话,就返回这个rs        }        else{            int i=1;            try{                while(rs.next()){                    i=i+1;                    if(i>((curPages-1)*m_rows))                        break;// 退出                }      &nb sp;         return rs;// 从退出开始将结果集返回            }            catch(Exception e){                System.out.print(e.getMessage());            }        }        return rs;    } } 3.test.jsp --------显示页面 <%@ page c%> <%@ page import="Java.SQL.*"%> <jsp:useBean id="Pagination" scope="page" class="Pagination"/> <jsp:useBean id="SQL" scope="page" class="DBConnect"/> <%    int curPages = Pagination.curPages(Pagination.strPage(request,"page"));//Pagination.strPage(request,"page")取page值传递给curPages()方法    Pagination.setRows(10);//设置每页显示10条 %> <%    ResultSet rs_count=SQL.executeQuery("select count(*) as t from test");//传递进数据库处理的Javabean    rs_count.next();    int resultc.getInt("t");//取得总的数据数    int totalPages = Pagination.getPages(resultconts);//取出总页数 ResultSet rs=Pagination.getPageSet(SQL.executeQuery("select * from test"),curPages);//获取指针的结果集参数是(结果集,页数) %>    <p>分类表</p>    <table border="1">    <tr>    <td>1</td>    <td>2</td>    <td>3</td>    </tr>    <%int i=1;%>    <%while (rt.next()){%>    <tr>    <td><%=rt.getString("id")%> </td>    <td><%=rt.getString("name")%>  </td>    </tr>    <%    i=i+1;    if(i>10)        break;    }    %>    </table>    <p align="center"><%if(curPages>1){%><a href="testBean.jsp?page=<%=curPages-1%>">上一页</a><%}%><%if(curPages<totalPages){%><a href="testBean.jsp?page=<%=curPages+1%>">下一页</a><%}%></p>

最新回复(0)