不是使用javabean,怎么实现jsp的分页技术,下面有一个我写的分页代码,但是运行时出现错误.谁能告诉我哪里错了,或给我个正确的代码,供我参考下
<%@page language = "java"%>
<%@page contentType="text/html;charset=gb2312"%>
<%@page import="java.sql.*"%>
<%request.setCharacterEncoding("gb2312");%>
<%
//分页显示
//下面四句代码用于连接数据源
String url = "jdbc:odbc:data"; //定义数据源
String driver = "sun.jdbc.odbc.JdbcOdbcDriver"; //定义jdbc-odbc驱动
Class.forName(driver); //装载驱动
Connection conn = DriverManager.getConnection(url); //连接数据源
Statement smt = conn.createStatement();
//声明变量
int intPageSize; //一页显示的记录数
int intRowCount; //记录总数
int intPageCount; //总页数
int intPage; //待显示页码
int layer; //层,阶层
int idlayer;
String outtext;
String strPage;
int i,j;
idlayer = 1;
outtext = "";
//设置一页显示的记录数
intPageSize = 5;
//取得待显示页码
strPage = request.getParameter("page");
if(strPage == null) {
//strPage为空,表明在QueryString中没有paga这一个参数,此时显示第一页的数据
intPage = 1;
} else {
//将字符串转换成整型
intPage = Integer.parseInt(strPage);
if (intPage < 1) {
intPage = 1;
}
}
//SQL语句的定义与执行
String sql;
sql = "select * from student";
ResultSet rs = smt.executeQuery(sql); //执行sql语句
//获取记录总数
rs.last();
intRowCount = rs.getRow();
//计算页总数
intPageCount = (intRowCount + intPageSize - 1)/intPageSize;
//调整待显示的页码
if(intPage > intPageCount) {
intPage = intPageCount;
}
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
</head>
<body topmargin="0" leftmargin="0">
<table>
<tr>
<td>
页次:<%=intPage%>/<%=intPageCount%>页 <%=intPageSize%>条/页
</td>
</tr>
</table>
<table>
<tr>
<td>姓名</td>
<td>密码</td>
</tr>
<% if(intPageCount > 0) {
rs.absolute((intPage - 1) * intPageSize + 1);
i = 0;
while(i < intPageSize && !rs.isAfterLast()) {
String names = rs.getString("userName");
String password = rs.getString("password");
%>
<tr>
<td><%=names%></td>
<td><%=password%></td>
</tr>
<% rs.next();
i++;
}
}
%>
</table>
<%
if(intPage > 1) {
%>
<a href="page.jsp?page=<%=intPage-1%>">上一页</a>
<% }
%>
<%
if(intPage < intPageCount) {
%>
<a href="page.jsp?page=<%=intPage+1%>">下一页</a>
<% }
%>
</body>
</html>
<%
//关闭结果集
rs.close();
smt.close();
conn.close();
%>