%@include file=" filename.jsp"%> 静态加载,当在翻译阶段,就把filename.jsp的代码嵌到包含页中,jsp页面是不能有两个page contentType定义的,因此被包含页不能有page contentType标志的
<jsp:include page="filename.jsp" flush="true"/>动态加载,在编译阶段才把代码嵌到包含页中,被包含页(filename.jsp)必须有page contentType=""这是与上述的最大不同
下面是一个实例,可以区分在什么时期执行
index.jsp包含了位于items文件夹下的test1.jsp和test2.jsp(test2.jsp显示的内容是:Hello World
!
)),而test1.jsp有包含了另外的一个test2.jsp(显示的内容是:Oh,My God
!
注意:这两个test2.jsp代码完全不同)
index.jsp中的部分代码如下(注意:都是相对路径):
<
h1
><%
@include file
=
"
items/test1.jsp
"
%></
h1
>
<
h2
><
jsp:include page
=
"
items/test1.jsp
"
flush
=
"
true
"
></
h2
>

test1.jsp中的部分代码
<%
@include file
=
"
test2.jsp
"
%>

显示的内容:
Hello World
Oh,My God
分析:
<%
@include file
=
""
%>
在翻译时将代码嵌入到index.jsp中,因此可以把第一行代码改成
<
h1
><%
@include file
=
"
test.jsp
"
%></
h1
>
同样还要进一步翻译成
<
h1
>
Hello World
</
h1
>
<
jsp:include page
=
"
items/test1.jsp
"
flush
=
"
true
"
>
在编译时才加载,当执行到这句代码时才执行,因此显示的是Oh,My God的内容...

本文详细解释了JSP中的两种页面包含方式:静态加载与动态加载的区别,并通过具体示例说明了这两种包含方式在执行过程中的差异。
898

被折叠的 条评论
为什么被折叠?



