@ include和jsp:include都可以将外部文档包含进JSP页面中.include指令和include动作到底有什么分别;
@ include
- 编译指令是在JSP程序的转换时期就将file属性所指定的程序内容嵌入,然后再编译执行;
- 包含页面可以在JSP页面转换成Servlet之前;
- 只生成一个class文件;
- 同一个request对象;
- 难于维护,只要被包含的页面发生更改,就可能需要更改主页面;
@ include的基本语法如下:
<%@ include file=".jsp" %>
属性file是要包含的文件,这个属性是必需的.
jsp:include
- include指令在转换时期是不会被编译的,只有在客户端请求时期如果被执行到才会被动态的编译载入
- 可能会产生多个class
- 不同的request对象,可以取得包含它的页面的参数,并添加了自己的参数
- 包含的页面的输出中不能含有JSP
jsp:include 的基本语法如下:
<jsp:include page="divide.jsp" flush="true">
<jsp:param name="v1" value=""/>
<jsp:param name="v2" value=""/>
</jsp:include>
page属性指定被包含的页面,这个属性是必需的.指定在将页面包含进来之前是否应该清空主页面的输出流。name表示参数的名称,value表示参数的值.