JSP分页关键代码详解

  以BBS为例:

  <%
   int intPageSize;//每一页显示的帖子主题数量;
   int intRowCount;//所有帖子数;
   int intPageCount;// 定义总页码;
   int intPage;//具体页码;
    java.lang.String strPage;//用来接收传递过来的页码;
   intPageSize=10;//每页10条帖子;
   strPage=request.getParameter(“page”);// 得到上一页传递过来的页码;
   if(strPage==null){

     intPage=1;
   }
     else{
      intPage=java.lang.Integer.parseInt(strPage);//  这是格式转换,把传递过来页码转换成整形;
      if(intPage<1)
      intPage=1;
     }
   rs.last();// 指针指向数据库末尾;
   intRowCount=rs.getRow();// 通过上一步,得到数据库中所有帖子的数量;
   intPageCount=(intRowCount+intPageSize-1)/intPageSize;//计算出总页码;
   if(intPage>intPageCount) intPage=intPageCount;
   if(intPageCount>0){
   rs.absolute((intPage-1)*intPageSize+1;);}

    //这是分页中最重要的一个指针定位函数absolute,

      它可以把指针指向数据库在本页显示帖子的起始位置。

      例如 要读取第2页的帖子,改指针就指向第(2-1)*10+1=11条帖子的位置,

      从而使数据库从第11条读出。  %>

       ———-这里是读取数据———————

     下面是如何传递页码:

    <% int i;
    for(i=1;i<=intPageCount;i++) { %>
    <a href=”message.jsp?page=<%=i%>”><%=i%>.</a>
    <%} %>
    <% if(intPage<intPageCount){%>
    <a href=”message.jsp?page=<%=i%>”>最后一页.</a><%}%>
    <% if(intPage>1){%>
    <a href=”message.jsp?page=<%=intPage-1%>”>前一页.</a><%}%>
    <% if(intPage<intPageCount){%>
    <a href=”message.jsp?page=<%=intPage+1%>”>后一页.</a><%}%>
      &nbsp&nbsp总【<%=intPageCount%>】页</font></td></tr>

     大体重要的都在这里啦,大家还有什么问题可以再交流,我天天在线哦!

最多留言日志

1 Comments.

Leave a comment
  1. Surrpisingly well-written and informative for a free online article.

    [回复]

Leave a Reply

:laugh: :cool: :ding: :blaugh: :evil: :close: :han: :rp: more »
click to change 请输入验证码

( Ctrl + Enter )