[英]JSP/JSTL how to improve speed of using c:forech
我已經開始查看Web應用程序中存在一些性能問題的頁面。 這是一個使用JSP的Spring MVC應用程序。 有一個部分,其內容如下:
<c:forEach items="${people}" var="person">
//A number of <form:input>s bound to "person" in here
</c:foreach>
隨着“人數”的增加,這似乎呈現得非常緩慢。 迭代的數量甚至不必太快就可以變慢。 我可以看到頁面逐個加載每個輸入塊。
我在嘗試確定瓶頸是什么,我認為這似乎只是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>
渲染緩慢。
我想我有點疑惑,因為似乎它是將每個迭代發送到客戶端進行渲染,而不是構建HTML,然后一次發送全部? (也許我錯了嗎?)
有沒有辦法使加載速度更快? 為JSP設置一些預編譯會更快嗎(盡管我不確定如何在運行時確定$ {people})?
您使用分頁。 所有編程都使用延遲加載。 延遲加載是計算機編程中常用的一種設計模式,用於將對象的初始化推遲到需要它的時間點。 如果使用得當,可以提高程序運行的效率。 延遲加載的相反是渴望加載。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.