注册 登录
编程论坛 J2EE论坛

怎么用jsp实现分页?

tianhe 发布于 2005-08-06 16:59, 2137 次点击
用jsp实现分页显示,第一页的内容可以显示出来,第二页的却出不来,那位高手能给点指示???
7 回复
#2
rainic2005-08-10 00:09
正学。学会了就告诉你。
#3
rainic2005-08-12 16:25
<%
 Statement sql;
 ResultSet rs;
 sql=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
 rs=sql.executeQuery("select id,title,date from news order by date desc");

 int showpage=1,pageCount=1,pageSize=15;          //显示页码,总页码数,每页显示多少条
 rs.last();
 int lastRow=rs.getRow();                      //最后一行的行号,就是一共有lastRow这么多条

 pageCount=(lastRow%pageSize==0)?(lastRow/pageSize):(lastRow/pageSize+1); //求总页码数

 String integer=request.getParameter("showPage");
 if(integer==null){integer="1";}

 try{showpage=Integer.parseInt(integer);}
 catch(NumberFormatException e){showpage=1;}

 if(showpage<1){showpage=1;}
 if(showpage>pageCount){showpage=pageCount;}
 int posion=(showpage-1)*pageSize+1;
 rs.absolute(posion);
 
 for(int i=0;i<pageSize;i++)
 {
  out.print("<li><a href='viewNews.jsp?id="+rs.getInt("id")+"'>"+rs.getString("title")+"</a>    "+rs.getString("date").substring(0,10)+"</li>");
  if(!rs.next()){break;}
 }
 %>

 <%
 out.print("  <a href='newsList.jsp?showPage=1'>|<</a>  ");
 for(int j=1;j<=pageCount;j++)
 {
  if(showpage==j)
  {
   out.print("<a href='newsList.jsp?showPage="+j+"'><font class='underline'>"+j+"</font></a>  ");
  }
  else{out.print("<a href='newsList.jsp?showPage="+j+"'>"+j+"</a>  ");}
 }
 out.print("<a href='newsList.jsp?showPage="+pageCount+"'>>|</a>");
 %>
#4
疯子java2005-08-12 17:08
不是打击你的话
你的分页在没有查询条件基本正确
有了查询条件
情况和楼主的一样了
请仔细分析
#5
rainic2005-08-12 17:22
嗯????不明白?第二页不出来什么意思啊?不是newsList.jsp?showPage=2 时打不开吗
我在我电脑上试过,没事啊
#6
yaojing2005-08-13 16:21
  不明白你说的分页 是什么意思? 是在一个JSP上显示多个sevlet显示的页面 还是跳转页面?
#7
rainic2005-08-13 21:45
????????????不知道你说什么??
#8
rainic2005-08-14 15:17
rs.last();
int lastRow=rs.getRow();                      //最后一行的行号,就是一共有lastRow这么多条

是这里的问题吗?是不是因为查寻出来的总记录数不一定等于最后一行的行号。
要用循环来计算总记录数,对吗?
1