javascript - jsp中Select框处理一百万条记录的最佳方式

标签 javascript java jsp struts-1

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

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

最佳答案

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

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

关于javascript - jsp中Select框处理一百万条记录的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46915705/

相关文章:

c# - 如何通过javascript将值传递给嵌套模型?

javascript - 安装 Waypoints 和 Animate.css

java - 如何很好地相交从两张 map 构建的两组?

java - 使用 JavaFX 中的 FileChooser 禁用隐藏文件

java - jsp调用servlet时未找到404

java - jsp:param编码问题

javascript - d3 : when a line move to specific positions call function

javascript - 部署时自定义操作 URL 错误 : Error occurred in deployment step

java - 如何使用循环将键/值从 StringBuilder 放入 HashMap 中? - java

php - 我可以使用 POST 向其他网站的页面发送请求吗?