[TOC]
# 包含指令
## 静态包含 include
include 是包含页面的指令,属于静态页面引入。
页面引入的好处在于:可以把多个页面共同的部分抽象出来定义。
~~~
<%@include file="head.jsp" %>
<h1>content</h1>
<%@include file="foot.jsp" %>
~~~
## 动态包含
<jsp:include />
~~~
<%
String str = "HELLO";
%>
<jsp:include page="head.jsp"></jsp:include>
<h1><%=str %>,CONTENT</h1>
<jsp:include page="foot.jsp"></jsp:include>
~~~
## 静态引入和动态引入的区别
在静态引入中,子页面是原封不动的把页面的信息放到了父页面中,父页面把所有页面的页面信息都收集完成后,统一的进行解析,完成页面的输出。这样,如果在不同的页面中定义了相同名称的变量,那么就会产生冲突。
但是在动态引入中,由于每一个页面都是单独的进行解析的。再交给父页面合成生成一个 HTML 页面,每个子页面和父页面中定义的 Scriptlet 是不会产生冲突的。
> 在实际的开发中,我们一般都是用动态的引入。