关于JSP 分页的问题 高手进~~~~1
发布网友
发布时间:2023-10-31 03:18
我来回答
共2个回答
热心网友
时间:2024-12-12 16:31
你的我觉得不是很好,我给你一个代码:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<body>
<div align="center"><h1>分页显示记录</h1></div>
<%
//默认情况下Statement对象生成的ResultSet对象中能使用next()方法使得指针向后移动
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundException e){}
try{
Connection conn=DriverManager.getConnection("jdbc:odbc:webdata");
Statement smt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs=smt.executeQuery("select * from student");
if(!rs.next()){
out.println("没有添加成员");
}else{
int pagesize=5;
int showpage=1;
int rowcount=0;
int pagecount=0;
rs.last();
rowcount=rs.getRow();
pagecount=(((rowcount%pagesize)==0)?(rowcount/pagesize):(rowcount/pagesize+1));
String topage=request.getParameter("topage");
if(topage!=null){
showpage=Integer.parseInt(topage);
if(showpage>pagecount){
showpage=pagecount;
}else if(showpage<=0){
showpage=1;
}
}
rs.absolute((showpage-1)*pagesize+1);
%>
<table width="611" height="71" border="1" align="center" >
<tr align="center" valign="middle">
<td width="228" height="25">学号</td>
<td width="199" height="25">姓名</td>
<td width="337" height="25">数学</td>
<td width="219" height="25">英语</td>
<td width="219" height="25">物理</td>
</tr>
<% for(int i=1;i<=pagesize;i++){ %>
<tr align="center" valign="middle" bgcolor="#F9F9FB">
<td height="23"><%=rs.getString("xh")%></td>
<td height="23"><%=rs.getString("name")%></td>
<td height="23"><%=rs.getFloat("math")%></td>
<td height="23"><%=rs.getFloat("english")%></td>
<td height="23"><%=rs.getFloat("physics")%></td>
</tr>
<%
if(!rs.next())break;
}
%>
<tr align="center" valign="middle" bgcolor="#DFE7F0">
<td height="23" colspan="3" bgcolor="#EEF2F9">
<a href="?topage=1">第一页</a>
<a href="?topage=<%=showpage-1%>">上一页</a>
<a href="?topage=<%=showpage+1%>">下一页</a>
<a href="?topage=<%=pagecount %>">最后页</a></td>
<td height="23" bgcolor="#EEF2F9"><%= showpage + "/" + pagecount %></td>
</tr>
</table>
<%
}
conn.close();
}catch(Exception e){}
%>
</body>
</html>
热心网友
时间:2024-12-12 16:32
共<%=(totalRecord+PageNumbers)/PageNumbers%>页
这里应该是:
共<%=(totalRecord+PageNumbers-1)/PageNumbers%>页
你可以假设一下:
当totalRecord(总记录数)为20时,共有(20+10-1)/10=2页
如果没有减1那就是(21+10)/10=3页,肯定是错的撒!!