JSTL标记性能问题

时间:2011-06-03 05:13:53

标签: jsp jstl

我在单个JSP页面中使用了很多JSTL标记。我想知道是否因此而出现任何性能问题。特定页面中的页面渲染时间如何? 服务器端代码快速执行。但是,一旦渲染页面开始渲染整个页面所花费的时间似乎需要花费很多时间。如果页面中使用了许多JSTL标记,就会出现性能问题,例如一定数量的<c:forEach>循环与<c:if>条件相结合等等。

2 个答案:

答案 0 :(得分:3)

如果代码编写效率低或生成相对大量的输出(包括空格!),则只会出现性能问题。有几种方法可以改善这一方面:

  1. <c:set>中缓存重复(复杂)表达式或内容,以便以后重复使用。
  2. 如果您有很多“显示/隐藏”内容,请考虑使用Ajax替换它们,而不是将它们 all 呈现给页面。
  3. 使用filter修改响应中的空格。这可以节省约40%的带宽。
  4. 在服务器级别启用GZIP压缩。当与空白修剪器结合使用时,这可以节省约70%的带宽,甚至可以节省约80%。
  5. 当您显示包含&gt; 100行的表时,请考虑过滤和分页。
  6. 另见:

答案 1 :(得分:1)

页面生成发生在服务器端,渲染发生在客户端。在jsp编译之后,JSTL标记被转换为java代码,性能会受到您编写的响应的影响。

您可能正在使用循环编写太多内容,这就是为什么需要时间来刷新内容。