<jsp:include>与include指令的异同


一、共同点

  共同点可以用来引入被包含文件。都会把两个JSP页面内容合并输出,建议这两个页面不要出现重复的HTML全局架构标签,否则输出给客户端的内容可能会是一个格式混乱的HTM L文档。

二、不同点

(1)  

? include指令通过fiIe属性指定被包含的文件, file属性不支持任何表达式;

 

? <jsp:include>动作元素通过page属性指定被包含的文件,page属性支持JSP表达式。

(2)

? <jsp:include>标签是动态引入,<jsp:include>标签涉及到的2个 JSP页面会被翻译成2个servlet,这2个servlet的内容在执行时进行合并。

? include指令是静态引入,涉及到的2个JSP页面会被翻译成一个 servlet,其内容是在源文件级别进行合并。

(3)

 

?在应用include指令包含文件时,由千被包含的文件最终会生成一个文件,所以在被包含文件、包含文件中不能有重复的变量名或方法;

 

?应用<jsp:include>动作元素包含文件时,因为每个文件是单独编译的,所以被包含文件和包含文件中的重名变量和方法是不冲突的。