1、指令包含:<%@include file="info.jsp"%>
<%@include fiel="info.inc"%>
先包含后执行:不识别是什么文件内容,先包含再说
所以包含的时候不能有<html><head><body>
也不能有同名的变量定义,否则会报错
2、标签包含:<jsp:include page="include.jsp"/>
标签是属于javaee的内容而不只是属于jsp
标签包含可以识别被包含内容的类型
如果包含的是动态页面则先执行后包含
eg.
<jsp:include page="incl.jsp">
<jsp:param name="ref1"
value="ZTE"/>
<jsp:param name="ref2"
value="ZS"/>
</jsp:include>
如果包含的是静态页面:则会先包含不执行
两种包含的区别
共同点:
两种包含都是把被包含页面包含的当前页面中
区别:
1、.语法不同:语法范畴不同(jsp、javaee)、写法不同
2、执行机制不同:
指令include:先包含后执行
标签include:如果包含的是动态页面则先执行后包含、静态页面则先包含不执行。
3、一个识别被包含页面的内容,一个不能识别
4、标签包含包含动态页面的时候,当前页面可以向被包含页面传参
5、指令包含包含的时候不能有<html><head><body>,也不能有同名的变量定义,否则会报错
<jsp:forward page="forwardDemo02.jsp"/>
可用作服务端跳转。