你用的什么数据库?用SQL语句做分页查询是最快的。Oracle:
select * from (select rownum as numrow,c.* from (select * from tableName) c)where numrow>'19990'and numrow<='20000'
其中,select * from tableName是你原始的SQL语句。
MySQL:
select * from tableName limit 19990,10做一个这样的转换方法,每次查询的时候转换一下SQL语句就可以了。

解决方案 »

  1.   

    数据库查询分页总是个难以完美实现的问题,看看这里可能对你有帮助。
    http://www.jdon.com:81/jive/article.jsp?forum=16&thread=1591
      

  2.   

    这里有篇文档,你看看
    http://www.csdn.net/develop/read_article.asp?id=15464
      

  3.   

    想法不错。
    可以实现这样的功能。就看你所用的数据库支持取表最大记录信息数吗?如果不支持那就比较麻烦了。
    bean中保存数据集时,如果保存在ArrayList中(当然也可以是其它的Vecor,Hashtble),它总有个最大记录数。当取到列表最大记录数,与表最大记录信息数比较-->是不是
    取出表数据信息。
      

  4.   

    不用吧,在taglib里面,有现成的分页显示的例子呀
    根本不用什么自己来写类的呀,告诉你个网址,去下载下来看看就可以了,它们的类,都有源代码的http://jakarta.apache.org/struts这里看看
      

  5.   

    到这个网站下载个插件,
    用起来很方便的,速度又快,google用的就是这种.http://jsptags.com/index.jsp
      

  6.   

    谢谢楼上几位告诉我struts这个东东,不过能再介绍一下用法吗?我没有多少时间来研究了,催得太紧!
      

  7.   

    我不明白你每次都还是要在数据库里再去取,为什么还要用一个类来保存前500条和后500条??
    同时你的用户可能只是浏览第一页,你就不用担心重新查询速度有多慢了
    我觉得这个逻辑在jsp中处理:
    每次页面显示时带几个参数(maxlen,pageIndex)
    如果从数据库带出来的信息不是很多,可以全部用jsp抓到页面上来,再用javascript来处理,静态页面动态变化反正什么:"上一页、下一页、首页、尾页"都还考虑的
      

  8.   

    一般是select top n * from table,n=一页显示的条数;当用户查询更多的时候转到再选择全部放入数据集好了
      

  9.   

    推荐一个分页的好东西:
    http://xiaolie.nease.net/divpage.html
      

  10.   

    请问能再帮我解释一下struts的用法吗?