博客地址:http://www.cnblogs.com/shizhongtao/p/3506742.html欢迎交流
<%@ include %>是编译时包含,<jsp:include>是运行时包含。有人这样打过比方,前者就相当于C语言中的宏,编译时替代,后者相当于函数,运行时返回。
对于<%@include ……来说,他是先把文件合并然后再编译,就生成一个编译文件,而<jsp:include……是一个动态指令,他是先编译成文件然后再合并。我们要注意一个编码问题,对于前者来说,他用的是包含他的页面编码格式,而后者用的是自身的编码格式。
例如:我们想把公共的js文件的包含关系独立为一个文件,然后利用这两个标签去嵌入他。写法分别是:
<%@include file="/js/basejs.js"%>路径是相对路径,不能写成url的路径。因为他是编译之前执行的。 <jsp:include page="<%=basePath %>js/basejs.jsp"></jsp:include> 路径可以是相对或者url引用路径,他是编译好之后合并的。
对于第一个,你要安装html的书写规范去写basejs.js文件,因为他就相当于一个替换付。第二个就是一个jsp文件。