<%@include %>指令:
include指令是指把其它页面的JAVA代码(源码)加进来,跟本页面的代码合并在一起,
相当于把源码从那个页面复制到本页面中来,然后再编译。所以变量可以共用。并用由
于本页面编译时已经包含了别的文件的源码,所以以后其它页面更改时,本页面并不理会,
因为已经编译过了。
xml:namespace prefix = jsp />
动作:
是指两个页面的代码运行完以后,再把包含的那个页面运行后的HTML结果页面加
到本页面运行后的HTML结果页面中来。所以变量不能共用。
jsp:include动作在请求期间被激活,而include指令在页面转换期间被激活。
<%@ include file=""%>指令在编写代码的时候一般放在最顶部,主要附加的
是被重用的代码,这里所说的附加是指把源代码原封不动的附加过来,例如
在jsp程序中使用这个指令的时候file里面的值(即要导入的文件)不能带
多余的标签或是与当前jsp文件重复的东西。例如里面不要包含
这样的标签,因为是把源代码原封不动的附加过来,所以会与当前的jsp中的这样的标签重复导致出错。
而应用标签导入一个重用文件的时候,这个文件是经过编译的,
通俗点说就是附加这个要导入文件经过编译后的效果,所以可以含有与
当前jsp程序中重复的内容,因为在附加过来之前就会被解析掉。
示例:
<%@include %> 是静态包含,可以包含任何内容。
例如在A.jsp中 <%@ include file="a.txt" %> ,先把 a.txt 中的内容原封不动的包含到A.jsp 中,
相当于一个生成一个新的jsp 再交给Servlet 容器(Tomcat)编译。
是动态包含,
例如在B.jsp 中 ,Servlet容器将会先 编译c.jsp ,把c.jsp
的结果包含到B.jsp 中,然后再一起编译 B.jsp 。
总结:
<%@include %> 静态包含到页面中,不能带多余的标签或是与当前jsp文件重复的东西,在原页面加载的时候一起交给Servlet 容器(Tomcat)编译。
动态包含,可以包含多余的标签,由于是先编译文件,在附加过来之前多余的东西就会被解析掉。加载的和被加载的都会先被Servlet容器编译
把被加载的结果包含到加载页面,再一起编译。