【问题标题】:asynchronous widget JSP foreach (Java EE application)异步小部件 JSP foreach(Java EE 应用程序)
【发布时间】:2012-11-05 16:00:55
【问题描述】:
我在一个 JSP 页面中有以下代码:
<c:forEach var="widget" items="${widgets}">
<p><h2>Widget</h2></p>
<p>IDType: ${widget.id}</p>
<p>Name: ${widget.name}</p>
</c:forEach>
目前只会显示文本,但将来还会显示图表和图像。
我想使用异步加载,因此页面不必等待最大的图像/图表。
在互联网上,我找到了 Java 代码的教程,但没有找到 JSP 页面的教程。在 JSP 页面中实现异步加载的最佳方式是什么?
谢谢!
【问题讨论】:
标签:
java
jsp
asynchronous
foreach
jstl
【解决方案1】:
只需使用不同的 servlet 分别生成这些图像和图表:
<c:forEach var="widget" items="${widgets}">
<p><h2>Widget</h2></p>
<p>IDType: ${widget.id}</p>
<p>Name: ${widget.name}</p>
<img src="chart-servlet.png?id=${widget.id}"/>
<img src="image-servlet.png?id=${widget.id}"/>
</c:forEach>
在服务器端将一些 servlet 映射到 chart-servlet.png 和 image-servlet.png。然后您可以使用id 参数生成适当的图表或图像。从浏览器的角度来看,它首先呈现没有图像的 DOM,然后向服务器请求外部资源(图像)。