include 指令 include 指令,即包含指令,用于将指定的文件包含到当前的 JSP 文件中。该指令只有一 个属性 file,用于指定要包含的文件。 (1) 用法 被 include 指定包含的文件,可以是 JSP 动态页面文件,也可以是 HTML 静态页面文件。 这里定义一个名为 left.jsp 的动态文件。其中定义了一个变量 sum。
(2) 静态联编 查看 Tomcat 的 work 目录中相关子目录,发现只生成了一个 index_jsp.java 的 Servlet 源 文件,并没有生成 left_jsp.java 文件。那是因为 JSP 翻译引擎在翻译时,会将 include 指令所 指定的文件内容直接翻译到当前 JSP 对应的 Servlet 中,形成一个.java 文件。这就说明一个 问题:这个包含操作是在编译之前完成的,是在编译之前由 JSP 翻译引擎完成的,不是在程 序运行期完成的。这种包含是一种静态包含,称为静态联编。 由于在编译期就将这些文件合并为了一个 Servlet 文件,所以,整个过程就一个 _jspService()方法。也就是说,这些文件之间是可以相互访问局部变量的。只要满足变量声 明与使用的先后顺序即可。
(3) 为什么使用 include 指令 对于一个包含很多页面的系统或站点,很多页面的头部、底部,或者左侧部分都是相同 的。为了减少页面定义的重复性工作,为了便于对这些相同部分的修改,我们将这些相同的 部分,分别定义为了多个页面。然后,让其它需要使用这些部分的页面,使用 include 指令 将这些部分包含进来。这样的话,不仅大大减少了工作量,还做到了对于页面修改的“一改 全改”效果。