这可能是displaytag的局限性了,它的翻页机制是这样的:
如果一个list中有10000个bean,按照它的机制,如果是第一页(每页n条),它会把前n条数据取出来,然后再把剩余的10000-n条删除,当你点击页面“2”的时候,它再从后台绕一圈,把第二页的数据,也就是把第n+1-2n条记录取出来,把剩余的删除。这样,它实现了翻页,又防止了内存占用过大。
但是,不管怎么说,它还是有一个取出所有条数的动作的,在极大数据量的情况下,有可能造成内存溢出。
如果一个list中有10000个bean,按照它的机制,如果是第一页(每页n条),它会把前n条数据取出来,然后再把剩余的10000-n条删除,当你点击页面“2”的时候,它再从后台绕一圈,把第二页的数据,也就是把第n+1-2n条记录取出来,把剩余的删除。这样,它实现了翻页,又防止了内存占用过大。
但是,不管怎么说,它还是有一个取出所有条数的动作的,在极大数据量的情况下,有可能造成内存溢出。