分页显示 单击下一页,显示的还是第一页的内容
程序代码如下
<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>
<%@ page contentType="text/html;charset=GB2312"%>
<body bgcolor="#FFF8DF">
按地区查询:<form method="get" action="xinxixianshigo.jsp">
<span id="cityname">
<select name="cityname" onChange="showlist();">
<option value="">请选择</option>
<option value="丽水">丽水</option>
<option value="莲都">莲都</option>
<option value="缙云">缙云</option>
<option value="遂昌">遂昌</option>
<option value="青田">青田</option>
<option value="龙泉">龙泉</option>
<option value="云和">云和</option>
<option value="庆元">庆元</option>
<option value="松阳">松阳</option>
<option value="景宁">景宁</option>
</select>
<input type=submit value="确定">
</span>
<center>
各地林业信息上报汇总
<%
int pagesize=2;//每页要显示的记录数
int recordcount=0;//记录总数
int pagecount=0;//总页数
int pageid=1;//待要显示的页码
try{
Connection con;
Statement stmt;
ResultSet rs;
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
java.sql.DriverManager.registerDriver(new com.microsoft.jdbc.sqlserver.SQLServerDriver());
String dbUrl= "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=testdb";
String dbUser="sa";
String dbPwd="thjkl800216";
con=java.sql.DriverManager.getConnection(dbUrl,dbUser,dbPwd);//数据库连接
//stmt=con.createStatement();
stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);//创建一个滚动的只读sql对象
rs=stmt.executeQuery("SELECT title,describe,cityname,depart,author,pdate from xinxi_table order by id desc");
rs.last();//到达记录的末尾
recordcount=rs.getRow();//获得记录总数
pagecount=(recordcount%pagesize==0)?(recordcount/pagesize):((recordcount/pagesize)+1);//取得总的页面数
int count=1;
String strpage=request.getParameter("pageid");//从Url中获取pageid的值
if(strpage==null) pageid=1;
else
pageid=Integer.parseInt(strpage);//将得到的数转换为整型
if(pageid>recordcount) pageid=recordcount;
if(recordcount>0){
rs.absolute((pageid-1)*pagesize+1);
}
int i=0;
rs.beforeFirst();
while (rs.next()&&count<=pagesize)
{
count++;
i++;
String col1=rs.getString(1);
String col2=rs.getString(2);
String col3=rs.getString(3);
String col4=rs.getString(4);
String col5=rs.getString(5);
String col6=rs.getString(6);
out.println("<table border=1 width=500>"+"<tr><td width=80>标 题:"+"</td><td>"+col1+"</td></tr><tr><td>内 容:"+"</td><td>"+col2+"</td></tr><tr><td>上报地区:"+"</td><td>"+col3+"</td></tr><tr><td>上报单位:"+"</td><td>"+col4+"</td></tr><tr><td>上报人:"+"</td><td>"+col5+"</td></tr><tr><td>上报时间:"+"</td><td>"+col6+"</td></tr>");
out.println("</table>");
out.println("<br>");
}
out.print("共");
out.print(pagecount);
out.print("页");
out.print("共");
out.print(recordcount);
out.print("条");
out.print("第");
out.print(pageid);
out.print("页");
// out.print("<br>");
if(pageid<pagecount)
{
out.print("<a href=xs_back.jsp?pageid=");
out.print(pageid+1);
out.print(">下一页</a>");
}
if(pageid>1){
out.print("<a href=xs_back.jsp?pageid=");
out.print(pageid-1);
out.print(">上一页</a>");}
out.print("<br>");
for(int j=1;j<=pagecount;j++){
out.print("<a href=xs_back.jsp?pageid=");
out.print(j);
out.print(">");
out.print(j);
out.print("</a>");}
rs.close();
stmt.close();
con.close();
}
catch(Exception e){out.println(e.getMessage());}
%>
<hr>
<a href="xinxi.jsp">返回</a>
</center>
</body>
程序能够正确执行,但是单击下一页这个链接时,页面显示的内容仍然是第一页的内容,但是url中显示的page已经等于2了。请问大家我哪儿写错了。