Java JSP/JSTL如何提高c:forech的使用速度

Java JSP/JSTL如何提高c:forech的使用速度,java,html,jsp,spring-mvc,jstl,Java,Html,Jsp,Spring Mvc,Jstl,我开始查看web应用程序中存在一些性能问题的页面。这是一个使用JSP的SpringMVC应用程序。 有一个部分按如下方式构建: <c:forEach items="${people}" var="person"> //A number of <form:input>s bound to "person" in here </c:foreach> //这里有许多绑定到“person”的s 随着“人”的数量越来越多,这似乎呈现得相当缓慢。迭代次

我开始查看web应用程序中存在一些性能问题的页面。这是一个使用JSP的SpringMVC应用程序。 有一个部分按如下方式构建:

 <c:forEach items="${people}" var="person">
     //A number of <form:input>s bound to "person" in here
 </c:foreach>

//这里有许多绑定到“person”的s
随着“人”的数量越来越多,这似乎呈现得相当缓慢。迭代次数甚至不必太多,它就可以变慢。我可以看到页面逐个加载每个输入块

我一直在尝试确定瓶颈是什么,我认为这似乎只是for循环的性质,速度很慢

如果我这样做:

<div with some style><input></div>
//Copy this 8000 times
<c:forEach var="i" begin="1" end="8000">
<div with some style><input></div>
</c:foreach>

//复制这个8000次
页面渲染速度相当快。 但以下几点:

<div with some style><input></div>
//Copy this 8000 times
<c:forEach var="i" begin="1" end="8000">
<div with some style><input></div>
</c:foreach>

渲染速度慢

我想我有点困惑,因为它似乎是将每次迭代发送给客户端进行渲染,而不是构建HTML然后一次发送所有内容?(也许我弄错了?)


有没有办法让这个加载更快?为JSP设置一些预编译会更快吗(尽管我不知道如何,因为${people}是在运行时确定的)?

您使用分页。所有编程都使用延迟加载。
延迟加载是计算机编程中常用的一种设计模式,它将对象的初始化延迟到需要时。如果使用得当,它可以提高程序运行的效率。延迟加载的反面是即时加载。

您使用分页。所有编程都使用延迟加载。
延迟加载是计算机编程中常用的一种设计模式,它将对象的初始化延迟到需要时。如果使用得当,它可以提高程序运行的效率。懒惰加载的反面是渴望加载。

不要使用jsp,ajx callworld的懒惰加载已经从jsp,特别是jstl转移过来了。是的,我肯定知道客户端框架是这些天的发展方向(不幸的是,现在不是一个选项)。但是人们一定已经用JSP/JSTL呈现完成了类似的工作。我想一定是出了什么问题,好像我只显示了6-10个相当于“人”的字段,页面呈现速度非常慢。不要使用jsp,ajx callworld的延迟加载已经从jsp,特别是jstl转移了。是的,我肯定知道客户端框架是这些天的发展方向(不幸的是,现在不是一个选项)。但是人们一定已经用JSP/JSTL呈现完成了类似的工作。我想一定是出了什么问题,好像我只显示了6-10个“人”值的字段,页面呈现速度非常慢。