在Servlet-JSP中向下滚动加载数据

时间:2012-02-07 23:49:55

标签: jquery jsp servlets load scroll

我正在开发一个拥有大约6000条记录的网站,而我的公司使用Internet Explorer 8作为其默认浏览器(我知道......),加载整个数据大约需要50秒。因此,每当用户到达div的末尾时,我都试图实现一个加载数据功能。

基本上这样的网站结构。 Servlet - Jsp。 基本上,当请求某个jsp时,分配的servlet会生成一个doGet,每次用户插入/编辑/删除一个记录时它都会执行doPost,但每次操作总是由JSP处理。

那么在这种情况下向下滚动时实现加载数据的方法是什么? (我想尽可能不在页面中使用刷新)。

ps:我现在已经知道我必须使用JQuery而不是如何实现它。 =)。

1 个答案:

答案 0 :(得分:0)

那么,在这种情况下,您需要设计包含大量javascript的页面。我从问题中得到的是有一些表有6000条记录。现在您要在页面上显示此数据。您还希望无论什么时候发生变化,您都希望在屏幕上映射更改。

为此,您需要的第一件事是在前面映射每一行及其键。 你需要阅读一些AJAX,其余的很简单。

您可以在固定间隔(例如5秒)后点击服务器。所以此命中将返回更改的项目。现在,您在页面上的最大ID将与服务器返回的记录进行比较。

回应可分为三个部分: a)删除 b)编辑 c)插入

您可以将编辑和插入结合起来,因为在给定的点上,您无法跟踪是否可能不希望有跟踪相同内容的开销。

所以只有两个块a)被删除,b)插入/修改

在创建视图时,每一行都是一个包含主键的id。所以div的id将是“div23”,其中23是主键。

现在您需要迭代响应。您可以使用XML或JSON轻松地使用此解决方案。

让我们采取样品回复。

在删除中使用带有ID 23,45,97等的json boject以及插入/编辑中的46,1000,6001等响应。

现在删除,你需要写:document.getElementById(“div”+ id).innerHTML =“”;或者你可以从dom模型中删除它。

同样,您可以获取div并编辑相同的内容。如果你没有得到任何div意味着你需要插入你最后可以做的。

对于ajax,您可以获得许多框架,如原型,dojo等。您可以在w3schools网站上找到AJAX的基本示例。

我希望它有所帮助。