5.4.4 JSP指令元素
指令元素用于提供和JSP页面相关的信息并设置在整个JSP页面范围内有效的属性,如页面的编码方式、是否跟踪会话、缓冲需求等。指令中可以设置多个属性。语法格式如下:
%@指令属性1=“值1“属性2=“值2“…%
指令元素在客户端是不可见的,并不直接产生任何可见输出,只是告诉引擎如何处理其余JSP页面。JSP中主要包含3种指令,分别是page指令、include指令和taglib指令。其中page指令和include指令是JSP初学者需要掌握的元素,下面将对这两种指令进行详细介绍。而taglib指令用于在页面中自定义新的标签来完成特殊的功能,有需要的读者可参考相关的书籍资料。
1.页面指令:page
page指令用于定义整个JSP页面的一些属性和它们的值,对整个页面有效。指令可以放在页面中任何位置,但习惯上放在JSP页面的最前面。page指令的语法格式如下:
在一个JSP页面中,可以使用多个page指令来指定属性及其值。但只有import属性可以使用多个page指令重复设定。其他属性只能使用一次page指令。表5-3对page指令的主要属性进行了介绍。
表5-3 page指令的主要属性说明
2.包含指令:include
include指令用于在翻译阶段向当前JSP页面使用该指令的位置静态包含一个文件。包含的文件可以是JSP文件、HTML文件、文本文件等,也可以是Java程序。如果被包含的文件中有可执行的代码,则显示代码执行后的结果。
所谓静态包含,是指将当前JSP页面和被包含的页面合并为一个新的JSP页面,然后再由引擎将这个新的JSP页面进行转译。因此,包含文件时,必须保证新合成的JSP页面符合JSP语法规则。
include指令的语法格式如下:
%@ inc lude f i le=“relat iveURL“%
include指令只有一个属性file=“relativeURL”。它是一个相对路径,指出了被包含文件的URL。若路径以斜线开头,则为上下文路径,需要在该应用指定的上下文路径中加以解释。若并非以斜线开头,则是一个页面相对路径,在相对于当前页面的路径下解释。该属性不支持任何表达式,不允许有参数。
下面是在mainpage.jsp中使用include指令包含triangle.jsp的示例。
【例5-11】include指令的使用。
运行结果如图5-13所示。
图5-13 include指令的运行结果