我喜欢JSP的一件事情就是它的包含机制。在JSP中,我可以简单地写:
<jsp:include page='/widget/foo-widget?param=value' />
当我拥有某种小部件并且想将其包含在其他页面中时,它的效果非常好。
前几天我想,如果include不会阻塞线程控制,那就太好了,这样如果我有多个include,它们可以并行处理。在JSP中有没有办法做到这一点?
我喜欢JSP的一件事情就是它的包含机制。在JSP中,我可以简单地写:
<jsp:include page='/widget/foo-widget?param=value' />
当我拥有某种小部件并且想将其包含在其他页面中时,它的效果非常好。
前几天我想,如果include不会阻塞线程控制,那就太好了,这样如果我有多个include,它们可以并行处理。在JSP中有没有办法做到这一点?
不,没有这样的需求,也不值得花力气去实现。HTML响应必须按顺序流式传输。
如果你需要进行复杂的业务预处理操作,那么你应该使用Servlet而不是JSP,因为在Servlet中你可以自由地生成线程。但是这仍然需要谨慎处理,避免线程泄漏或死锁。 java.util.concurrent
API 可能会对此有所帮助。
<jsp:include>
中时,应使用 <jsp:param>
标准操作。这样做是很好的,因为它可以正确地对参数进行编码,以便包含在 URL 中。<jsp:include page="/widget/foo-widget">
<jsp:param name="param" value="value" />
</jsp:include>