日期:2014-05-16 浏览次数:20430 次
<jsp:include />动态包含
<%@include %>静态包含
1、属性
后者不能这样传参数<%@ include file=“A.jsp?name=ygl”%> ?file后的路径必须是明确的
但是前者可以是动态的,而且可以传参数
2、处理方式
<%@ include file=”relativeURI”%> 是在翻译阶段执行?
在编译阶段就把两个jsp文件合成,然后再由编辑器编译合成后的文件,所以
只产生一个.java文件和一个.class文件
<jsp:include page=”relativeURI” flush=”true” /> 在请求处理阶段执行.?
只有当这个标识被执行的时候,程序才会把请求转发到这个文件,然后返回结果,所以
产生二个.java文件和二个.class文件
3、编码问题
<%@ include file=”relativeURI”%>?的话,两个页面的编码必须是一致的,因为最后会合成一个再编译
<jsp:include page=”relativeURI” flush=”true” />?则随便都行,因为服务器是把请求发过去的,所以他会安装自己的编码
再返回结果的
其实归根到底所有的区别,只是他们被处理的时间不同,一个是编译前,一个是运行时
所以这其实就是静态和动态的区别而已