<%@ include file=""%>与<jsp:include page=""/>两种方式的区别
1.include指令:
<%
@include
file=
"文件的绝对路径或者相对路径"
%>
file属性是必填的(绝对路径或相对路径),但它不支持任何表达式,也不允许通过?挂参方式来传递参数。
2.include动作:
<jsp:include page=
"被包含文件的路径"
flush=
"true/false"
>
<jsp:param name=
"参数名称"
value=
"参数值"
/>
</jsp:inclue>
page属性是必填的(绝对路径或相对路径),但它支持表达式也可传参。flush属性为缓冲区满时,清空缓冲区。
区别:
1.执行时间上的区别:
<%@ include file=”relativeURI”%> 是在翻译阶段执行(将JSP页面转换成servlet的阶段)。
<jsp:include page=”relativeURI” flush=”true” /> 在请求处理阶段执行。
2.引入内容的方式区别:
<%@ include file=””%> 应用于静态文本,也可以这么理解:它是纯粹的把部分代码写到了另一个页面,而那另一个页面中不能有相同的变量名,但可以借用主页面的内容。 (先包含,后编译)
<jsp:include page=”relativeURI” flush=”true” />引入执行页面或servlet所生成的应答文本。 (先编译,后包含)