静态包含
静态包含指令是在JSP编译时插入一个包含文本或代码的文件,这个包含的过程是静态的,而包含的文件可以是JSP文件、HTML文件、文本文件,或是JAVA程序。
静态包含语法
<%@ include file="要包含的文件路径"%>
动态包含
动态包含使用的是<jsp:include>
指令来完成的。动态包含可以自动区分所包含的页面是静态的还是动态的。如果是静态页面,则与静态包含一样,将内容先包含进来再处理;而如果包含的页面是动态的,则可以先进行动态处理,然后再将处理后的结果包含进来。
动态包含语法
1.不传递参数语法
<jsp:include page="要包含的文件路径"/>
2.传递参数语法
<jsp:include page="要包含的文件路径">
<jsp:param name="参数名称" value="参数内容"/>
...可以向被包含的页面中传递多个参数
</jsp:include>
使用动态包含要比静态包含更好
1.静态包含属于先包含后处理;而动态包含,如果包含的页面是动态的,则是先处理后包含。
2.动态包含可以向被包含也传递参数。
例:
定义被包含页—-included.jsp:
<%
int i=100;
%>
<h1>included.jsp--<%=i%></h1>
定义包含页—–include.jsp
<%
int i=50;
%>
<@include file="included.jsp"/>
<h1>include.jsp--<%=i%></h1>
此时页面报错。静态包含是先包含后处理,则相当于i被定义了两次,所以会报错。若改用动态包含,则
<%
int i=50;
%>
<jsp:include page="included.jsp"/>
<h1>include.jsp--<%=i%></h1>
运行结果为:
included.jsp–100
include.jsp–50