请假banq老师:关于JSP中include指令的疑惑

pengpenglin
07-04-29 2 205

banq老师:

你好,我想请假JSP中关于include指令的一个问题,我在网上和一些书上看到如下的说法:

使用 JSP include 伪指令可以引入动态内容,但将无法获得对该内容的更改。这是因为 Web 容器将被包含文件作为原始(包含)页面的一部分读取。容器将结果高速缓存为单个文件,而不是多个 JSP 组件。因为 Web 容器不会针对更改去轮询被包含文件,所以它不会知道有任何更改发生,它将自动显示高速缓存的页面而不是刷新的页面。


可是我用了一个很简单的测试,结果却和上面说的不同,我的测试步骤如下:

(1).主页面的代码段:<%@ include file="included.html"%>
(2).被包含页面的内容:<h4>1</h4>

测试环境:windows2000+tomcat5.0

每次我修改被包含页面的内容后再刷新主页面,都能够看到新的内容。我查看了转换后的文件也是最新的。这和上面所说的是完全相反的阿!

请banq老师指教

banq
2007-05-08 11:36

JSP中include指令有两个:
动态: jsp:include
静态:include file

至于你测试情况我有时也偶尔碰到,但是大部分是符合以上原理.原因我也不是很清楚,到底tomcat是一个开源项目.这方面无必要研究太深.

kanny87929
2007-05-10 00:36

今天刚用到这样的指令
没什么好研究的
只要你要插入的网页不是老变就用
<%@ include%>指令
比如一个网页的标题图案
往往只是一个简单的图片,上面也不用加载撒东西

如果是一个需要在上面从数据库加载数据的话
最好就用
<JSP: include file=""/>这样的