JSP中主要包含三大指令,分别是page,include,taglib。本篇主要提及include指令。
JSP中常用的动作标识有<jsp:include>、<jsp:forward>、<jsp:useBean>、<jsp:setProperty>、<jsp:getProperty>、<jsp:fallback>、<jsp:pugin>。本篇主要提及<jsp:include>动作标识。
include指令使用格式:<%@ include file="文件的绝对路径或相对路径"%>
注意:file属性:指定被包含的文件,该属性不支持任何表达式,也不允许通过如下的方式来传递参数。
<jsp:include>动作标识使用格式:<jsp:include page="被包含文件的路径" flush="true|false"/>
或者向被包含的动态页面中传递参数:
注意:<jsp:include page="被包含文件的路径" flush="true|false"><jsp:param name="参数名称" value="参数值"/></jsp:include>
page属性:和include指令的file属性一样。
flush属性:表示当输出缓冲区满时,是否清空缓冲区。该属性值为boolean类型,默认值为false,通常情况下设为true。
区别:
1、 include 指令 只能引入其他页面文件,不能传递参数,
include 动作 引入其他页面文件的同事也能传递参数,
2、include 指令 静态包含,先合成再编译。包含的文件的内容会原封不动地插入到包含页中使用该指令地位置,将执行结果输出到浏览器中。JSP编译器再对这个合成地文件进行编译最终编译成的文件只有一个。
include 动作标签 动态包含,先编译再合成。include动作标识,该标识被执行时,程序会将请求转发到(注意是转发而不是请求重定向)被包含的页面,并将执行结果输出到浏览器中,然后返回包含页继续执行后面的代码。对两个文件分别编译,服务器执行的其实是两个文件。
参考:
https://blog.csdn.net/lp_cq242/article/details/80504805