1、<%@ include file=”relativeURI”%> html
1.能够叫做静态include(静态包含),是jsp指令中的一种。
2.在JSP页面被转化成servlet以前,和引入的JSP融合到一块儿,
“先包含,后编译”,不会检查所含文件的变化,
3.<%@ include file=""%>指令在编写代码的时候通常放在最顶部,主要附加的是被重用的代码,这里所说的附加是指把源代码原封不动的附加过来,例如在jsp程序中使用这个指令的时候file里面的值(即要导入的文件)不能带多余的标签或是与当前jsp文件重复的东西。例如里面不要包含<html><body>这样的标签,由于是把源代码原封不动的附加过来,因此会与当前的jsp中的这样的标签重复致使出错。
4.用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面,直接将内容先包含后处理
java
静态include的结果是把其余jsp引入当前jsp,二者合为一体。 jsp
静态include纯粹是把代码写在外面的一种共享方法,全部的变量都是能够和include它的主文件共享,二者高度紧密结合,不能有变量同名的冲突.而页面设置也能够借用主文件的.
2、<jsp:include page=”relativeURI” flush=”true” />
1.能够叫做动态include(动态包含),是jsp动做的一种。
2.被引入的文件先编译,后包含进来,而后显示
3.而应用<jsp:include page="" flush="" />标签导入一个重用文件的时候,这个文件是通过编译的,通俗点说就是附加这个要导入文件通过编译后的效果,因此能够含有与当前jsp程序中重复的内容,由于在附加过来以前就会被解析掉。
4.它老是会检查所含文件中的变化,适合用于包含动态页面,而且能够带参数,先编译以后再进 行处理。ide
动态include的结构是二者独立,直到输出时才合并( 看看jsp生成的java文件就能够知道 了)。 spa
动态include的jsp文件独立性很强,是一个单独的jsp文件,须要使用的对象,页面设置,都必须有本身建立,固然,还好它和include它的页面的request范围是一致的。
3、总结
另外在两种用法中file和page属性都被解释为一个相对的URI.若是它以斜杠开头,那么它就是一个环境相关的路径.将根据赋给应用程序的URI的前缀进行解释,若是它不是以斜杠开头,那么就是页面相关的路径,就根据引入这个文件的页面所在的路径进行解释。检查所含文件中的变化,适合用于包含动态页面,而且能够带参数。它老是会检查所含文件中的变化,适合用于包含动态页面,而且能够带参数。.net
参考:http://blog.csdn.net/hackerain/article/details/6766206orm
http://jingyan.baidu.com/article/5d368d1efbeed63f60c057c7.htmlhtm