jsp分页显示的代码与详细步骤 复制代码

来源:互联网 发布:产品标贴制作软件 编辑:程序博客网 时间:2024/04/30 12:11
首先要定义四个变量:int pageSize:每页显示多少条记录int pageNow:希望显示第几页int pageCount:一共有多少页int rowCount:一共有多少条记录说明:pageSize是指定的 pageNow是用户选择的rowCount是计算出来的 该计算式为if(rowCount%pageSize==0){pageCount=rowCount/pageSize;}else{pageCount=rowCount/pageSize+1;}(技巧:数据库插入:insert into 表名(字段1,2,。。。)select 字段1,2,...from 表名)查询语句select top pageSize字段名列表from表名where id not in(select top pageSize*(pageNow-1)id from 表名)以我们前面的users表为例,显示第二页,该查询语句就是:select top 3 * from users where userId not in(select top 3 userId from users)(select top 3 userId from users):选出这个表的前三条 前面再选三条<h1>用户信息列表</h1><%//定义四个分页会用到的变量int pageSize=3;int pageNow=1;//默认显示第一页int rowCount=0;//该值从数据库中查询int pageCount=0;//该值是通过pageSize和rowCount//接受用户希望显示的页数(pageNow)String s_pageNow=request.getParameter("pageNow");if(s_pageNow!=null){//接收到了pageNowpageNow=Integer.parseInt(s_pageNow);}//查询得到rowCountClass.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");Connection ct=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;dataBaseName=System","sa","");Statement sm=ct.createStatement();ResultSet rs=sm.exeuteQuery("select count(*) form users ");if(rs.next()){rowCount=rs.getInt(1);}//计算pageCountif(rowCount%pageSize==0){pageCount=rowCount/pageSize;}else{pageCount=rowCount/pageSize+1;}//查询出需要显示的记录rs=sm.exeuteQuery("select top "+pageSize+" * from users where userId not in(select top "+pageSize*(pageNow-1)+" userId from users) ");%>//显示<table border="1"><tr><td>用户ID</td><td>用户名字</td><td>密码</td><td>电邮</td><td>级别</td></tr><%while(rs.next()){%><tr><td><%=rs.getInt(1)%></td><td><%=rs.getString(2)%></td><td><%=rs.getString(3)%></td><td><%=rs.getString(4)%></td><td><%=rs.getInt(5)%></td></tr><%}%></table><%//上一页if(pageNow!=1){out.println("<a href=wel.jsp?pageNow="+(pageNow-1)+">上一页</a>");}//显示超链接for(int i=1;i<=pageCount;i++){out.println("<a href=wel.jsp?pageNow="+i+">["+i+"]</a>");}//下一页if(pageNow!=pageCount){out.println("<a href=wel.jsp?pageNow="+(pageNow+1)+">下一页</a>");}%>

0 0