急!!!JSP分页代码出错,帮忙看看

<body bgcolor="#FFFFFF">
<table width=500 border=1 align=center cellPadding=0 cellSpacing=0 bordercolor="#999999" >
<tbody>
<tr bgcolor="#CCCCCC">
<td colspan=2 align=center><FONT SIZE="3" COLOR="#ffffff"><B><font color="#000000">系统管理后台</font></B></FONT></TD>
</tr>
<tr align="center">
<td colspan="2"><a href="../insert.jsp">添加新日志</a>
<a href="javascript:this.location.reload()">刷新</a>  
<%
int intPageSize;//页显示记录数
int intRowCount;//记录数
int intPageCount;//总页数
int intPage;//待显页码
java.lang.String strPage;
int j;
intPageSize = 2;//每页显示记录数
strPage = request.getParameter("page");//待显示页码
if(strPage == null){intPage=1;}
else{intPage = java.lang.Integer.parseInt(strPage);
if(intPage<1)intPage=1;}
Statement _smt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet _rs;
String _sql;
_sql="SELECT * FROM userpassword";
_rs = _smt.executeQuery(_sql);
intRowCount = rs.getRow();
//计算总页数
intPageCount = (intRowCount + intPageSize -1)/intPageSize;
//调整待显页码
if(intPage>intPageCount)
intPage=intPageCount;
if(intPageCount>0){
//将记录指针定位到待显示页面
rs.absolute((intPage-1)*intPageSize + 1);
//显示数据
j = 0;
while(j<intPageSize && !rs.isAfterLast()){
%> <div align="right"></div> </td>
</tr>
<tr>
<td height="20"><div align="left"><SPAN class="text">●</SPAN><a href="showrz.jsp" target="_blank"><%=_rs.getString("username")%></a></div></td>
<td align=center width=29%><a href="showrz.jsp" target="_blank" >查看</a></td>
</tr>
<% rs.next();
j++;}
}
%>
</tbody>
</table>
<div align="center">第<%=intPage%>页 共<%=intPageCount%>页
<%if(intPage<intPageCount){%><a href="main.jsp?page=<%=intPage+1%>">下一页</a><%}%>
<%if(intPage>1){%><a href="main.jsp?page=<%=intPage-1%>">上一页</a><%}%>

</body>

第1个回答  推荐于2016-01-26
还在用JSP分页呢啊,未免显得有些混乱啊,呵呵

我的百度空间里有基于Struts、Hibernate和Spring的不同方式的分页实现,你可以参考一下了。

其实,只要你理解了分页的原理,完全可以自己作出更好的分页来。下面是我很久以前学习时做的一个分页:

JSP实现数据分页显示,从SQL Server2000数据库中的实例数据库中读取数据。

JSP实现数据分页显示很麻烦,用到的变量很多,搞不准就达不到预期的效果,分页实现的代码如下:

<%@ page c language="java" %>
<%@ page import="java.sql.*" %>
<html>
<head>
</head>
<body>
<%
int pageSize; //一个页面显示的记录数目
int totalRowCount; //总的记录的数目
int pageCount; //总的页数
int nextPageNo; //待显示页面的页号
pageSize=10; //设置一个页面所要显示的记录的数目为10条
int i; //用于统计从数据库中读取记录的数目(不能超过一个页面所能显示的记录数pageSize)
String strPage=request.getParameter("page");
if(strPage==null){ //如果page传递的页码参数为空
nextPageNo=1; //设置当前页面为第1页
}
else{
nextPageNo=Integer.parseInt(strPage);
if(nextPageNo<1){ //如果page传递的参数为负数
nextPageNo=1; //则显示第1页
}
}
%>
<%
String strDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
Class.forName(strDriver);
String strC;
Connection c.getConnection(strConn,"sa","");
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
String sql="select * from employee";
ResultSet rs=stmt.executeQuery(sql);
rs.last(); //游标定位到最后一跳记录的位置
totalRowCount=rs.getRow(); //获取当前行的行号,即为总的记录数目
pageCount=(totalRowCount+pageSize-1)/pageSize; //获取分页数目
if(nextPageNo>pageCount){
nextPageNo=pageSize; //当前页号大于分页的数目,则当前页号就为分页的数目
}
%>
<html>
<head>
</head>
<body>
<table border="1">
<tr>
<th>emp_id</th>
<th>fname</th>
<th>lname</th>
</tr>
<%
if(pageCount>0){
rs.absolute((nextPageNo-1)*pageSize+1); //将指针指向将要显示的页面的第一条记录
i=0;
while(i<pageSize&&!rs.isAfterLast()){
//统计读取数据库中记录数小于每页能够显示的记录条数,并且没有读到数据库表中最后一条记录
%>
<tr>
<td><%=rs.getString(1)%></td>
<td><%=rs.getString(2)%></td>
<td><%=rs.getString(4)%></td>
</tr>
<%
rs.next();
i++;
}
}
%>
</table>
<br>
第<%=nextPageNo%>页  共<%=pageCount%>页  
<%if(nextPageNo<pageCount){%> <!--待显示的页号小于总的分页数时,显示“下一页"超链接;第一页只显示"下一页"超链接-->
<a href="pageindex.jsp?page=<%=nextPageNo+1%>">下一页</a>
<%}%>
  
<%if(nextPageNo>1){%> <!--待显示的页号大于1时,显示“上一页"超链接;最后一页只显示"上一页"超链接-->
<a href="pageindex.jsp?page=<%=nextPageNo-1%>">上一页</a>
<%}%>
</body>
</html>
<%
rs.close();
conn.close();
stmt.close();
%>
</body>
</html>

将文件命名为pageindex.jsp,保存在C:\Tomcat 5.5\webapps\ROOT目录下,启动Tomcat,在IE地址栏中键入即可。本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网