3.2.3 include指令与动作的区别
答:首先区分一下两者的概念
(1)include指令:
include指令被称为文件加载指令,可以将其他的文件插入JSP网页,被插入的文件必须保证插入后形成的新的文件符合JSP页面的语法规则。
include指令语法格式:
<%@ include file="filename"%>
其中,include指令只有一个file属性,且被插入的文件必须与当前JSP页面在同一web服务目录下。
功能:该指令标签作用是在该标签的位置处,静态插入一个文件。助于实现JSP页面的模块化。
静态插入:用被插入的文件内容代替该指令标签,与当前JSP文件合并并形成新的JSP页面。一个页面可以包含多个include指令。
(2)<jsp:include>动作
语法格式:
<jsp:include page="filename"/>
功能:当前JSP页面动态包含一个文件,即将当前JSP页面、被包含的文件各自独立编译为字节码文件。当执行到动作标签处时,才加载执行被包含文件的字节码。
include动作与include指令所实现的两种包含,程序执行性质是完全不同的,一个是静态包含(include指令),一个是动态包含(include动作),静态包含不能传递参数,动态包含可以在两文件之间传递参数,这就是include动作和include指令之间最大的区别。