JSP指令提供了有关JSP页面到JSP引擎的信息。指令的类型有page、include 和 taglib,以<%@开始,并用%>结束。指令可以有很多个属性,它们以键值对的形式存在,并用逗号隔开。JSP中的3种指令标签如表2.1所示。
表2.1 JSP的3种指令标签
1.page指令
page指令为容器提供当前页面的使用说明。一个JSP页面可以包含多个page指令。
page指令的语法格式:<%@ page attribute="value" %>,各属性值如下:
(1)buffer属性:buffer 属性给出了输出缓冲区的最小大小,然后把内容发送给客户端,缺省值是8 kb。buffer的大小被out对象用于处理执行后的JSP对客户端浏览器的输出缓冲。如果设置为none,表示不使用缓冲。例如:
<%@ page buffer="32kb" %>
(2)import属性:用于把Java类导入JSP页面,在一个页面中可以出现多次。例如:
<%@ page import="java.util.*, java.io.*" %>
<%@ page import="java.sql.* " %>
(3)session属性:值可以是true或false。它指定页面是否应该参与HttpSession。默认值是 true。如果设置为false,那么页面代码中就不能使用session对象。例如:
<%@ page session="false" %>
(4)errorPage属性:用于把异常委托给另一个JSP页面,该页面具有错误处理代码。
代码:
<%@ page errorPage="/error.jsp" %>
(5)isErrorPage属性:指定当前页面是否是其他JSP页面的错误处理页面。默认值是false,如果值为true,那么该页面就可以使用exception内置对象。例如:
<%@ page isErrorPage="true" %>
(6)language属性:指定JSP页面使用的语言,默认值是“java”。例如:
<%@ page language="java" %>
(7)extends属性:指定了JSP页面生成的Servlet类的父类。该属性的默认值是由供应商特定的。例如:
<%@ page extends="mypackage.MyClass" %>
(8)autoFlush属性:autoFlush属性指定了一旦缓冲区已满,是否应该把缓冲区中的数据发送给客户端。默认值是true,即如果buffer溢出,仍需要强制输出;如果设置为false,那么如果这个buffer溢出,就会导致一个意外错误的发生。显然,如果把buffer设置为none,那么你就不能把autoFlush设置为false。例如:
<%@ page autoFlush="false" %>(www.xing528.com)
(9)isThreadSafe属性: isThreadSafe属性用来设置JSP文件能否支持多线程使用。默认为true,也就是说,JSP能够同时处理多个用户的请求;如果是false,那么一个JSP只能一次处理一个请求。例如:
<%@ page isThreadSafe="false" %>
(10)contentType属性:设置MIME类型。缺省MIME类型是text/html,缺省字符集为 ISO-8859-1。对于显示中文的文件或是页面来说,一般声明为如下:
<%@ page contentType="text/html;charset=UTF-8" %>
(11)isELIgnored属性:在JSP2.0中可以使用表达式语言。如果为true,则服务器解析表达式语言,否则忽略。对于Servlet2.3及以前版本无此属性,对Servlet2.4及以后版本默认为true。例如:
<%@ page isELIgnored="true"%>
(12)pageEncoding属性:该属性表明JSP页面使用的编码方式,与contentType中声明相似,默认为:ISO-8859-1。
2.JSP包含指令include
JSP中的包含指令可以在JSP中引入一个静态的文件,同时解析这个文件中的JSP语句。语法格式如下:<%@ include file=“relativeURL”%>,relativeURL表示需要包含文件的相对路径。当查看运行时的源代码时,可以看到实际上只是将被包含文件所执行的结果,插入到了JSP文件中<%@include%>所处的位置。这个被包含文件可以是HTML文件、JSP文件、文本文件或者是一段Java代码。但是要注意的是,在这个包含文件中最好不要包含<html> </html>,<body> </body>标记,因为原JSP文件中已经存在同样的标记,有时候会导致错误的发生。
【例2.2】包含指令示例。
(1)在WebContent目录下新建一个content.jsp文件,在content.jsp文件中定义一个DIV标签,通过行内样式设置DIV宽度、高度及背景色,在index.jsp通过包含指令引入content.jsp。
index.jsp文件内容:
content.jsp内容:
(2)启动Tomcat,在浏览器的地址栏输入http://localhost:8080/JSP_Demo/index.jsp ,如图2.10所示。
图2.10 运行结果
3.Taglib指令
JSP API允许用户自定义标签,一个自定义标签库就是自定义标签的集合。Taglib指令引入一个自定义标签集合的定义,包括库路径、自定义标签。Taglib指令的语法如下:
<%@ taglib uri="uri" prefix="prefixOfTag" %>
uri属性确定标签库的位置,prefix属性指定标签库的前缀。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。