jsp 分页 总是少一条记录???

hasan198703 2008-07-10 06:44:44
jsp 写的分页网页,总是少显示一条记录,如果把if(rs.next())去小的话,在没有数据的时候又会出错!到底该怎么处理这样的问题,已经一天一夜了,改来改去,都没有解决这个问题,一定有人遇到过类似问题,解决过的!请你们帮忙!
代码如下:
<jsp:useBean id="vedio" scope="page" class="db.dbConn"/>
<%
int PageSize=30;
int Page=1;
int totalPage=1;
int totalrecord=0;
ResultSet vediors=vedio.executeQuery("select count(*) recordcount from vedio");
if(vediors.next())
totalrecord=vediors.getInt("recordcount");

vediors=vedio.executeQuery("select * from vedio order by veid desc");
if(totalrecord%PageSize==0)
totalPage=totalrecord/PageSize;
else
totalPage=(int)Math.floor(totalrecord/PageSize)+1;
if(totalPage==0)totalPage=1;
if(request.getParameter("Page")==null||request.getParameter("Page").equals(""))
Page=1;
else
try
{
Page=Integer.parseInt(request.getParameter("Page"));
}
catch(java.lang.NumberFormatException e){Page=1;}
if(Page<1)
Page=1;
if(Page>totalPage)Page=totalPage;
vediors.absolute((Page-1)*PageSize+1);
%>
<div class="mgdetail">
<table width="700px;" cellpadding="0" cellspacing="0" style="font-size:13px;">
<%
//if(vediors.next()){

int iPage=1;
//while(iPage<=PageSize&&vediors.isAfterLast())
while(iPage<=PageSize&&vediors.next())
{%>
<tr><td width="20px" style="border-bottom:1px dotted #000000;"><img src="images/lt.gif"/></td><td width="400px" style="border-bottom:1px dotted #000000;"><a href="showvedio.jsp?id=<%=vediors.getString("veid")%>"><%=vediors.getString("title")%></a></td><td width="50px" style="border-bottom:1px dotted #000000;"><%=vediors.getString("vhit")%></td><td width="60px" style="border-bottom:1px dotted #000000;"><%=vediors.getString("author")%></td><td width="150px" style="border-bottom:1px dotted #000000;"><%=vediors.getString("vdate")%></td></tr>



<%
if(!vediors.next()) break;
//vediors.next();
iPage++;
}
//}
%>
</table>
</div>
看我的注释就知道我大概尝试过怎么修改!
...全文
108 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hasan198703 2008-07-12
  • 打赏
  • 举报
回复
if(totalrecord>0)替代rs.next()
就可以
seeSkyblue 2008-07-11
  • 打赏
  • 举报
回复
if(!vediors.next()) break;

这句话留着干啥?去掉看看
liyinbeyond 2008-07-10
  • 打赏
  • 举报
回复
代码看起来好累~~JAVA 脚本 不想看

说下公式

总页数=(记录总数+记录显示数-1)/记录显示数
hasan198703 2008-07-10
  • 打赏
  • 举报
回复
你用了那么多自定义的类呀 我哪里有?
还是修改一下我的吧!!
wellsweng 2008-07-10
  • 打赏
  • 举报
回复
我写的一个分页~你可以参考一下
int thisPage=0;
if(request.getParameter("page")!=null){
thisPage=Integer.parseInt(request.getParameter("page"));
}
else{
thisPage=1;
}
int allRows=new NewsOperator().getAllNewsCount();
int allPage=allRows/5;
if(allRows%5!=0){
allPage+=1;
}
pageContext.setAttribute("thisPage",thisPage);
%>
<c:set var="arrObj" value="<%=new NewsOperator().getAllPageNews(thisPage) %>" scope="page"></c:set>
<c:forEach var="arr" items="${pageScope.arrObj}">
<tr align="left">
<td width="13%" style="color:#000000 " align="center">${arr.newsDate }</td>
<td width="49%" style="color:#000000 " align="left">${arr.newsTitle }</td>
<td width="11%" style="color:#000000 " align="center">${arr.newsDept }</td>
<td width="11%" style="color:#000000 " align="center">${arr.writer }</td>
<td width="16%" style="color:#000000 "><input type="button" name="Submit2" value="删除" onclick="javascript:window.location.href='/YSLMS/servlet/DelNewsServlet?id=${arr.newsId }&page=${pageScope.thisPage }&isTime=true' "/></td>
</tr>
</c:forEach>
<tr>
<td colspan="5">
<%
if(allPage==1){
}
else if(thisPage==1 && thisPage<allPage){
%>
<div align="left">   <a href="/YSLMS/admin/newsAdmin.jsp?isTime=true&page=${pageScope.thisPage+1 }">下页</a> 跳到
<input name="page" type="text" id="page" style="width:40 ">页
</div>
<%
}else if(thisPage>1 && thisPage==allPage){
%>
<div align="left"><a href="/YSLMS/admin/newsAdmin.jsp?isTime=true&page=${pageScope.thisPage-1 }">上页</a>    跳到
<input name="page" type="text" id="page" style="width:40 ">页
</div>
<% } else{
%>
<div align="left"><a href="/YSLMS/admin/newsAdmin.jsp?isTime=true&page=${pageScope.thisPage-1 }">上页</a> <a href="/YSLMS/admin/newsAdmin.jsp?isTime=true&page=${pageScope.thisPage+1 }">下页</a> 跳到
<input type="text" name="page" style="width:30px;" />页
</div>
<%
}
%>
</td>
</tr>
<%
}
%>

67,541

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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