JSP中的分页怎么分 比如说点击下一页 显示下一页的内容

如题所述

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){
//接收到了pageNow
pageNow=Integer.parseInt(s_pageNow);
}
//查询得到rowCount
Class.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);
}
//计算pageCount
if(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>");
}
%>
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-02-20
分页通常有两种方法
1.从数据库一次取出所有内容放在list对象里面,然后再取对象里面的内容,按页存取。
2.用sql解决这个问题。大概思路是用sql控制每次取出的记录,然后显示出来。有三种sql语句供你选择,看这里吧http://www.itlearner.com/article/2007/3740.shtml
第2个回答  2009-02-20
我认为用sql控制分页比较好,那样一次只读你每页的显示数据就行了,如果全部数据读出来再分页,数据少还没什么,如果数据量大了,应该会很慢
select top 10(假设每页显示10条记录) from tableName where id not in(select 10*3(显示第四页的数据,所以过滤前三页的数据) id from tableName)
第3个回答  2009-02-20
这样的问题,不如直接到在百度搜索一下:

http://www.baidu.com/s?wd=JSP%B7%D6%D2%B3

在jsp中分页一般主要通过采用sql语句来完成。
第4个回答  2020-11-13
相似回答