Hibernate+struts+jsp的分页功能已经好了,现在的问题是,怎样限制页码数字,
比如我一次只想显示10个页码,1 2 3 4 5 6 7 8 9 10  然后,当你点击10的时候,会显示为6 7 8 9 10 11 12 13 14 15,这个怎么样来实现呢?
下面的代码要怎么改呢?      <%for (int i = 1; i <= lastPageNumber; i++)
        {        %>
        <a href="showArticle.do?aclass=<%=aclass%>&userid=<%=userid%>&pagenum=<%=i %>" target="articletree"><%=i%></a>
        <%        }
  %>谢谢各位能指教。在线等您回复

解决方案 »

  1.   

    我的设想是这样的,没有测试过,你试试:
     int curPage;//当前页/*前5页的循环*/
    for (int k = 5; k > 1; k--) {
       int len = curPage - k
       <a href="showArticle.do?aclass=<%=aclass%>&userid=<%=userid%>&pagenum=<%=i %>" target="articletree">len</a>
       }/* 当前页*/<a href="showArticle.do?aclass=<%=aclass%>&userid=<%=userid%>&pagenum=<%=i %>" target="articletree">curPage</a>
    /*后5页的循环*/
     for (int m = 1; m < 5; m++) {
       int len = curPage + m;
       <a href="showArticle.do?aclass=<%=aclass%>&userid=<%=userid%>&pagenum=<%=i %>" target="articletree">len</a>}
      

  2.   

    谢谢,我改了一下,帮我看看这样行不?
          <%
           /*前5页的循环*/
           if(pageNum>5)
           {
    for (int k = 5; k > 1; k--) 
    {
        int len = pageNum - k;
        %>
        <a href="showArticle.do?aclass=<%=aclass%>&userid=<%=userid%>&pagenum=<%=k %>" target="articletree"><%=len %></a>
        <%
        }
        }/* 当前页*/ for(int i=1;i<=lastPageNumber;i++)
    {
    %>
    <a href="showArticle.do?aclass=<%=aclass%>&userid=<%=userid%>&pagenum=<%=i%>" target="articletree"><%=i %></a>
    <%
    }/*后5页的循环*/ if(pageNum>10)
    {
      for (int m = 1; m < 5; m++) 
      {
         int len = pageNum + m;
        %>
        <a href="showArticle.do?aclass=<%=aclass%>&userid=<%=userid%>&pagenum=<%=m%>" target="articletree"><%=len %></a>
        <%
    }
    }
      %>
      

  3.   

    LZ好奇怪呢,我只是给你个思想。你既然已经明白啦,就该自己测试嘛还要我们帮你啊?我们未必会有空去布个环境测试啊!你自己真实环境下Debug,还不好找出问题?
      

  4.   

    楼上批评得对,刚才是我的数据没有那么多,所以刚刚才输进去,我自己测了一下,改完后,代码如下
    /*前5页的循环*/if(curPage>5)
    {
    for (int k = 5; k > 1; k--) {
       int len = curPage - k;
       %>
       <a href="showArticle.do?aclass=<%=aclass%>&userid=<%=userid%>&pagenum=<%=len%>" target="articletree"><%=len %></a>
       <%   }
    }
    /* 当前页*/%>
    <a href="showArticle.do?aclass=<%=aclass%>&userid=<%=userid%>&pagenum=<%=curPage %>" target="articletree"><%=curPage %></a>
    <%/*后5页的循环*/
     for (int m = 1; m < 5; m++) {
       int len = curPage + m;
    if(len<=lastPageNumber)
    {
      %>
       <a href="showArticle.do?aclass=<%=aclass%>&userid=<%=userid%>&pagenum=<%=len%>" target="articletree"><%=len %></a>
      <%
    }
    }   %>
    可是,每次点一个页码,他的前一个就不见了这个好像不是我要的效果,希望给于指正
      

  5.   

    for (int k = 5; k > 1; k--) {}改成:for (int k = 5; k >=1; k--) {}