1.定义:
include指令:
<%@ include file = "test.jsp" %>
include动作:
<jsp:include page = "test.jsp" flush = "true" >
<jsp:param name = "name" value = "value" />
</jsp:include>
2.区别:
根本性差异在于二者被调用的时间。
include指令是编译阶段的指令,即在编译时,编译器会把指令所指向目标文件的内容复制到指令所在的位置,替换指令,最终形成一个文件,在运行时只有一个文件。即include指令所包含文件的n内容是在编译时插入到JSP文件中的,当文件内容有变化时就需要重新编译,所以适合于包含静态页面的情况;
而include动作是运行时的语法,在主页面被请求时,才将用到的页面包含进来,涉及两个文件,类似于方法调用,因此更适用于包含动态页面的情况。
3.选择:
考虑到include动作在维护上的优势,优先选择include动作。