パフォーマンスに関する問題があるWebアプリケーションのページを調べ始めました。 JSPを使用したSpring MVCアプリケーションです。 次のように構築されている部分があります:JSP/JSTL C:forechを使用する速度を向上させる方法
<c:forEach items="${people}" var="person">
//A number of <form:input>s bound to "person" in here
</c:foreach>
これは「人」の数が大きくなると、非常にゆっくりとレンダリングするようです。反復回数は、それが遅くなるまでにはそれほど高くなくてもよい。私は入力の各ブロックを1つずつロードするページを見ることができます。
私はボトルネックが何であるかを調べようとしていました。私はそれが遅い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}は実行時にどのように決定されているのか分かりません)。
jspsを使用しないで、ajxコールからの遅延ロード – NimChimpsky
jspから、特にjstlから移動しました。 – ScanQR
ええ、私は確かに、クライアント側のフレームワークは、これらの日(残念ながら今のオプションではない)行く方法です。しかし、人々はJSP/JSTLレンダリングでこのようなことをしているに違いありません。私は、ページが非常にゆっくりとレンダリングするフィールドの人数分の6-10だけを表示しているかのように、何かが間違っていなければならないと思います。 – Luke