Java JSP/JSTL如何提高c:forech的使用速度
我开始查看web应用程序中存在一些性能问题的页面。这是一个使用JSP的SpringMVC应用程序。 有一个部分按如下方式构建: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 随着“人”的数量越来越多,这似乎呈现得相当缓慢。迭代次
<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个“人”值的字段,页面呈现速度非常慢。