当前位置: 代码迷 >> Java Web开发 >> 怎么用jsp实现分页?
  详细解决方案

怎么用jsp实现分页?

热度:375   发布时间:2005-08-06 16:59:00.0
怎么用jsp实现分页?
用jsp实现分页显示,第一页的内容可以显示出来,第二页的却出不来,那位高手能给点指示???
搜索更多相关主题的帖子: jsp  指示  

----------------解决方案--------------------------------------------------------
正学。学会了就告诉你。
----------------解决方案--------------------------------------------------------
<%
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>");
%>
----------------解决方案--------------------------------------------------------
不是打击你的话
你的分页在没有查询条件基本正确
有了查询条件
情况和楼主的一样了
请仔细分析
----------------解决方案--------------------------------------------------------
嗯????不明白?第二页不出来什么意思啊?不是newsList.jsp?showPage=2 时打不开吗
我在我电脑上试过,没事啊
----------------解决方案--------------------------------------------------------
  不明白你说的分页 是什么意思? 是在一个JSP上显示多个sevlet显示的页面 还是跳转页面?
----------------解决方案--------------------------------------------------------
????????????不知道你说什么??
----------------解决方案--------------------------------------------------------
rs.last();
int lastRow=rs.getRow();                      //最后一行的行号,就是一共有lastRow这么多条

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