在jsp的Select框中处理一百万条记录的最佳方法

时间:2017-10-24 16:35:03

标签: javascript java jsp struts-1

我正面临着jsp的性能问题。应用程序是在2002年使用jsp和javascripts在struts 1.x上设计的。 有一种情况我们必须在选择特定类别时向用户显示大约100万条记录。 它就像jsp名称上有两个选择框一样为A和B. A有列表(类别约1000)。在选择类别时,我们必须在选择框2中显示子类别(大约100万条记录)。 (java脚本函数是用来命中服务器并在同一个jsp上获取记录) 目前,我们面临很多关于绩效的问题。

请建议以现有方式向用户显示此类记录的最佳方式(使用jsp上的2个选择框)或任何其他最佳方法。

1 个答案:

答案 0 :(得分:2)

浏览1000000条记录对任何人来说都不是一件好事。我会介绍分页和一些过滤器/搜索,以便用户可以限制结果。

如果绝对必须显示一百万行的列表,则可以构建一个呈现列表的组件,但只渲染可见的行。因此,您将滚动区域设置为内部高度(rowHeight * numberOfRows),当有人滚动到某个部分时,您使用ajax从服务器加载该数据并呈现该区域中的项目并绝对将它们放在正确的位置。该技术称为对象池:https://en.wikipedia.org/wiki/Object_pool_pattern。这使您不必从服务器加载所有百万项,并且您只需要一次渲染其中的一些。