include指令指的是jsp的一种指令标记,语法:
<%@include file="文件的URL">
而include动作指的是jsp的一种动作标记,语法:
<jsp:include page="文件的URL"/>
或
<jsp:include page="文件的URL">
param子标记
</jsp:include>
这两种区别如下:
1.include指令执行时将被导入页面的jsp代码完全融入,两个页面融合成一个Servlet;而include动作则在Servlet中使用include方法来引入被导入页面的内容。因此include指令执行时不需编译,速度快;include动作需要加载执行,速度慢。
这点在Servlet中可以看出,如下图
图1:include指令后的Servlet
图2:include动作后的Sevlet
2.include指令执行时导入页面的编译指令会起作用;而include动作执行时被导入页面的编译指令则失去作用,只是插入被导入页面的body内容。
3.include动作还可以用param动作来为被导入页面传递参数。
4.include指令通过file属性指定被包含的文件,放在页面的顶部,file属性不支持任何的表达式;include动作是通过page属性来指定被包含的文件的,page属性支持jsp表达式。