include 指令

include指令用于JSP页面转换成Servlet时引入其它文件。该指令语法如下：

1. <%@ include file="relative URL" %>

这里所指定的URL是指和发出引用指令的JSP页面相对的URL。

与通常意义上的相对URL一样，可以利用以“/”开始的URL告诉系统把URL视为从Web服务器根目录开始。包含文件的内容也是JSP代码，即包含文件可以包含静态HTML、脚本元素、JSP指令和动作。

include指令用来向当前页面插入一个静态文件，这个静态文件可以是HTML文件、JSP文件，也可能是其它文本文件。它的语法格式如下：

2. <%@ include file = “URL”%>

其中，URL是要插入文件的URL。include所包含文件的内容是在编译的时候插入到JSP文件中的。

JSP引擎在判断JSP页面是否被修改时，会对JSP页面文件和字节码文件的最新更改日期做比较，如果二者相同，则说明JSP页面未被修改，否则视为已被修改。

由于被包含的文件是在编译时才插入的，因此如果只改动了include文件内容，而没有对JSP修改，得到的结果仍然是以前显示的结果。

因为JSP引擎判断JSP页面没被改动，所以直接执行了已存在的字节码，而没有重新编译，这样对include做的修改也就没有反映。

下面是一个使用include指令实现页面导航功能的例子。HTML文件public.htm源代码为：

3. <a href="http://localhost:8080/myjsp/include.jsp">My Home Page</a>

对应的 jsp 页面源代码如下：

1. <HTML>

2. <HEAD>

3. <TITLE> New Document </TITLE>

4. </HEAD>

5. <BODY>

6. <%@include file="public.htm"%>

7. <br>

8. Test<br>

9. Test<br>

10. Test<br>

11. Test<br>

12. <%@include file="public.htm"%>

13. </BODY>

14. </HTML>

运行结果如图：

使用include指令的JSP页面执行结果