jsp分页显示问题,急急急!!!各位前辈都来看看啊,先谢谢了

yaoqunfeng 2008-04-23 10:34:01
在查询语句中使用条件语句锁定了id
第一页显示正常,但第二页向后就不显示了,为空。其中查询出的符合要求的记录数也正常,就是分页显示不出来

————————————————————————————————————
<%


int i=0,x=0;//计数器
int showrow=8;//每页显示条数
int pages=0;//当前页数
int start; //本页开始条数

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:test","","");//后面参数可为空
Statement st=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
String id=request.getParameter("id");
ResultSet rs=st.executeQuery("select retxt,hname from hf where hid="+id+"");

String strp=(String)request.getParameter("pages");
int sig=1,alt;
if(strp==null){sig=1;}else{
for(int i1=0;i1<strp.length();i1++){
alt=strp.charAt(i1);
if(alt<48||alt>57){
sig=1;break;
}else{ sig=2;}
}
}

if(sig==1){pages=1;}else{pages=Integer.parseInt(strp);}
rs.last();
int count=rs.getRow();
int laspc;
int pa=count/showrow;
if(count%showrow>0){pa=pa+1;laspc=count%showrow;}else{laspc=showrow;}
if(pages<0)pages=1;
if(pages>pa)pages=pa;
start=(pages-1)*showrow+1;
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>请您留言</title>


</head>

<body><form name="form1" method="post" action="dell.jsp">
<table width="780" border="0" align="center" cellspacing="0" bgcolor="#f8fff7">
<tr>
<td height="2"></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td><div align="center">留言板</div></td>
</tr>

<tr>
<td height="10"><% for(int y=0;y<showrow;y++){%><input name="d<%=y%>" type="hidden" id="a1"><% }%></td>
</tr>
<tr>
<td><table width="100%" border="0" cellspacing="1" bgcolor="#c1d1c1">
<tr>
<td bgcolor="#f8f8f8"><%

%><table width="100%" border="0" cellspacing="0">
<tr>
<td width="41%" class="l">  第<%=pages%>页 共<%=pa%>页  <% if(pages>1){%>
<a href="show1.jsp">首页</a> <a href="show1.jsp?pages=<%=pages-1%>">上页</a> <% } if(pages<pa){%>
<a href="show1.jsp?pages=<%=pages+1%>">下页</a> <a href="show1.jsp?pages=<%=pa%>">尾页</a> <% }%></td>
<td width="59%" class="l"><div align="right">

<input name="imageField" type="image" src="img/del1.jpg" width="76" height="21" border="0" onMouseOut="this.src='img/del1.jpg'" onMouseOver="this.src='img/del2.jpg'">
<input name="showrow" type="hidden" id="showrow" value="<%=showrow%>">
<input name="pages" type="hidden" id="pages" value="<%=pages%>">


<a href="liuyan.jsp">我要留言</a> </div></td>
</tr>
</table>
<a href="log.jsp"></a></td>
</tr>
</table></td>
</tr>
<tr>
<td height="10"></td>
</tr>
</table>

<table width="592" height="100" border="1" align="center" bgcolor="#EFF0E2" style="BORDER-BOTTOM: #4F7B0D 1px solid; BORDER-LEFT: #4F7B0D 1px solid; BORDER-RIGHT: #4F7B0D 1px solid; BORDER-TOP: #4F7B0D 1px solid">

<%
rs.absolute(start);
rs.previous();
while(rs.next()){
%>
<tr>
<td>回复内容:
<div align="center"><%=rs.getString("retxt")%></div>
by <%=rs.getString("hname")%> <div align="center"></div></td></tr>
<%
i++;
if(i==showrow)break;
}
%>

</table>
<%
rs.close();
st.close();
con.close();
%>

<table width="780" border="0" align="center" cellspacing="0">
<tr>
<td height="10"></td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellspacing="1" bgcolor="#c1d1c1">
<tr>
<td bgcolor="#f8fff7" class="l"><div align="right">
<%
if(pa<=5){
for(int j=1;j<pa+1;j++){
if(j==pages){%><font color=#ff0000>第<%=pages%>页</font> <% }else{%><a href="index_1.jsp?pages=<%=j%>">第<%=j%>页</a> <% }
}
}else if(pages<4){
for(int k=1;k<pages+3;k++){
if(k==pages){%><font color=#ff0000>第<%=k%>页</font> <% }else{ %><a href="index.jsp?pages=<%=k%>">第<%=k%>页</a> <% }
}
}else if((pa-pages)<4){
for(int l=pa-5;l<=pa;l++){if(l==pages){ %><font color="#FF0000">第<%=l%>页</font> <% }else{ %><a href="index.jsp?pages=<%=l%>">第<%=l%>页</a> <% }}
}else{
for(int m=pages-3;m<pages+3;m++){if(m==pages){ %><font color="#FF0000">第<%=m%>页</font> <% }else{ %><a href="index_1.jsp?pages=<%=m%>">第<%=m%>页</a> <% }}
}%>  共<%=pa%>页 <%=count%>条  </div></td>
</tr>
</table></td>
</tr>
</table></form>




...全文
272 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
临远 2008-04-23
  • 打赏
  • 举报
回复
参考我们教程中的分页例子吧:

http://www.family168.com/tutorial/jsp/html/jsp-ch-15.html
yaoqunfeng 2008-04-23
  • 打赏
  • 举报
回复
如果把那个sql查询语句中的where条件限定去掉就能正常显示了
不知道为什么啊
yami251139 2008-04-23
  • 打赏
  • 举报
回复
(@#&$()@^#$)&_@*$_@!*(_$+
今天天氣不錯,你的table也沒錯,應該是代碼的問題了
讀數據跑的起來,第一頁能顯示說明你連接數據庫那段沒錯
第二頁有問題,說明你是table下面那段有問題
我看了。。。。沒看懂!&@#)¥&)#!@(×)@!
這么高的代碼,你幫我們講下吧。。。
wx014 2008-04-23
  • 打赏
  • 举报
回复
做成自定义标签吧,谁看了头都大了
wujh123 2008-04-23
  • 打赏
  • 举报
回复





…… 看晕了 强烈建议使用标签^
gongyali2005 2008-04-23
  • 打赏
  • 举报
回复
楼主啊.把分页的代码写在JAVABEAN吧.有点乱,有点乱.
yaoqunfeng 2008-04-23
  • 打赏
  • 举报
回复
终于解决了
是参数传递的问题
页码显示改成下面那样
<td width="41%" height="55" colspan="2" class="l">  第<%=pages%>页 共<%=pa%>页  <% if(pages>1){%>
<a href="show.jsp?id=<%=request.getParameter("id")%>">首页</a> <a href="show.jsp?pages=<%=pages-1%>&id=<%=request.getParameter("id")%>">上页</a> <% } if(pages<pa){%>
<a href="show.jsp?pages=<%=pages+1%>&id=<%=request.getParameter("id")%>">下页</a> <a href="show.jsp?pages=<%=pa%>&id=<%=request.getParameter("id")%>">尾页</a> <% }%><input name="showrow" type="hidden" id="showrow" value="<%=showrow%>">
<input name="pages" type="hidden" id="pages" value="<%=pages%>"> </td>


谢谢各位前辈!!!!!!
给分。
yaoqunfeng 2008-04-23
  • 打赏
  • 举报
回复
To combai
我用的数据库式Access
我的id的数据类型为自动编号
所以
ResultSet rs=st.executeQuery("select retxt,hname from hf where hid="+id+"");
没有错啊
到底是哪里又问题啊,我都快急死了,搜了半天了都
邻里亲戚 2008-04-23
  • 打赏
  • 举报
回复
如果去掉where就好的话,看一下你的sql语句:
ResultSet rs=st.executeQuery("select retxt,hname from hf where hid="+id+"");
我不知道你的ID是什么类型,如果是字符串就应该这样写'"+id+"'
最好的方法是把sql语句打印出来,然后去数据库运行一遍,就知道哪里错了

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧