我用servlet 将数据保存在list中  并显示在jsp中  可是如何分页呢?  数据不多 五条一页  也就一百来页 甚至还没有  我不想用数据库分页,那该如何班呢?  求求求求!!!

解决方案 »

  1.   

    list  有个sublist方法 你看看就知道了
      

  2.   

    在你进行数据库查询的时候就进行分页吧
    mysql
    第一页
    select * from tab limit 0,5查询前五条第二页
    select * from tab limit 5,5这是5-10的记录
      

  3.   

    那你就生命一个hashmap,然后key是你的pageIndex,value的是你的集合
    循环你查询的list,被5整除的时候,改变一次key,就可以了,以后从这个hashmap根据key值取数据就可以相应pegeindex的数据了啊
      

  4.   

    你说的就是jsp显示分页吧,写js吧
      

  5.   

    把list用request.setAttribute("list",list);传到jsp页面中去,然后再显示就可以了嘛
      

  6.   

    LZ,是否可以这样;
    假设你的list<String>里面有200条数据,每次显示5条那么前台每次传递当前需要显示的页数是第几页为n,后台取出List<String> listNew = list.subList(n-1, 5); 
      

  7.   


    sublist (a,b)是切割从a到b的一个list
    (n-1)*5,5*n  对吧
      

  8.   

    sublist 是后台分割数据,
    也可以用js前台分割数据。最终思想都是取出全部数据,得出总数,再求出起始记录数。
      

  9.   

    竟然取出了全部数据,就把全部数据输出在JSP,然后在JSP页面通过JS展示指定页的内容就可以了,不想展示的隐藏就可以了.....只是自己写JS比较复制,输出所有数据后可谷歌查下静态分页的JS代码大概就是把一个TABLE里的数据分页展示
      

  10.   

    lz你那样查询会比较慢的而且js也只能传一些基本的值,还是需要计算的,最好还是数据库分页,再到页面上用js导航,不知道lz能不能明白
      

  11.   

    这个是集合分页:
    package com.wxtl.page;import java.util.ArrayList;
    import java.util.List;public class PageUtils implements java.io.Serializable
    {    public PageUtils()
        {
        }    public static List getLimitedList(List origs, int page, int pageSite)
        {
         if(origs!=null&&origs.size()>0){
            int total = origs.size();
            int first = (page - 1) * pageSite;
            int last = first + pageSite;
            if(first < 0)
                first = 0;
            if(last > total)
                last = total;
            if(first > total)
                return new ArrayList();
            else
                return origs.subList(first, last);
         }else{
         return null;
         }
        }
    }
      

  12.   

    在数据库分页多好啊,为什么整那么麻烦,要在jsp中分页,得用js吧
      

  13.   

    在数据库里,如果是mysql,用limit,如果是oracle,用rownum
      

  14.   

    <tr>
    <td width="800">
    <table align="center" width="800">
    <tr>
    <td width="90%">
    <table align="center" width="100%">
    <% NewsManager sm = new NewsManager();
    NewEntity su[]  = sm.getAllNews(); //获得新闻消息///////
    // 设置分页代码///////////////////////
    int allreg = su.length;
    int ipage=20; //分页单位 
    //-------------设置当前页面-------------
    int tpage=0;
    String tempstr=request.getParameter("page");
    if(tempstr == null)
    tpage = 0;
    else
    tpage = Integer.parseInt(tempstr);
    //--------------------------------------------
    //------------设置总页面-----------------
    int allpage=0;
    if(allreg%ipage ==0)
    allpage = allreg/ipage;
    else
    allpage = allreg/ipage+1;
    //--------------------------------------
    //int pages; //接受的页码变量 
    int cpage=0; //当前页 
    int reg = ipage;
    int flag = 0;
    for(int i=tpage*ipage;i<su.length&&reg-->0;i++){
    %> <tr>
    <td align="left" width="70%"><img src="image/arrows/singleright.gif"/><a href="news/One_new.jsp?Id=<%=su[i].getId()%>" target="_self" ><%=su[i].getTiltle()%></a></td>
    <td width="20%"><%=su[i].getATime().substring(0,16)%></td>
    <td width=""><%=su[i].getAuthor()%></td>
    </tr>
    <% }
    %>
    </table>
      </td>
    <td width="10%" valign="top"><!--插入广告图片等.....-----></td>
    </tr>
    </table>
    </td>
    </tr>
    <!--网站内容部分-------------------------------->
    <tr>
    <td width="100%" align="right">
    <% String str0 = "",str1="",str2="",str3="",str4="",str5="";
    str0="记录总数:"+allreg+"&nbsp;&nbsp;当前第"+(tpage+1)+"页&nbsp;&nbsp;共"+allpage+"页&nbsp;&nbsp;&nbsp;";
    if(tpage==0) str1="<a disabled>首&nbsp;&nbsp;页</a>&nbsp;&nbsp;";
    else str1="<a href='NewsList.jsp?page=0'>首&nbsp;&nbsp;页</a>&nbsp;&nbsp;";

    if((tpage-1) >= 0 ) str2="<a href='NewsList.jsp?page="+(tpage-1)+"'>上一页</a>&nbsp;&nbsp;";
    else str2="<a disabled>上一页</a>&nbsp;&nbsp;";

    if((tpage+1)<allpage) str3="<a href='NewsList.jsp?page="+(tpage+1)+"'>下一页</a>&nbsp;&nbsp;";
    else str3="<a disabled>下一页</a>&nbsp;&nbsp;";

    if(allpage==0||(tpage+1)==allpage) str4="<a disabled>未&nbsp;&nbsp;页</a>";
    else str4="<a href='NewsList.jsp?page="+(allpage-1)+"'>末&nbsp;&nbsp;页</a>";

    str5="&nbsp;&nbsp;转到第<input type='text' value="+(tpage+1)+" size='2' onchange='jumppage(this.value,"+allpage+")'>页";
    %> <font color="#666666" style="font-size:12px;"><%=str0+str1+str2+str3+str4+str5%></font>
    </td>
    </tr>
      

  15.   

    如果没理解错 用循环取出要取出的 list 记录 然后 赋值到 新的 list对象 返回该对象 然后迭代出 即可