学科分类
目录
Java Web

page指令

在JSP页面中,经常需要对页面的某些特性进行描述,例如,页面的编码方式,JSP页面采用的语言等,这时,可以通过page指令来实现,page指令的具体语法格式如下所示:

<%@ page 属性名= "属性值"%>

在上面的语法格式中,page用于声明指令名称,属性用来指定JSP页面的某些特性。page指令提供了一系列与JSP页面相关的属性,具体如表1所示。

表1 page指令的常用属性

属性名称 取值范围 描述
language java 指明解释该JSP文件时采用的语言,默认为Java
extends 任何类的全名 指明编译该JSP文件时继承哪个类。JSP为Servlet,因此当指明继承普通类需要实现Servlet的init()、destroy()等方法
import 任何包名、类名 指定在JSP页面翻译成的Servlet源文件中导入的包或类。import是唯一可以声明多次的page指令属性。一个import属性可以引用多个类,中间用英文逗号隔开。例如: <%@page import="java.util.Date,java.io.*"%> 在JSP中,以下四个包中的类可以直接使用,不需要引用: java.lang.* javax.servlet.* javax.servlet.jsp.* javax.servlet.http.*
session true、false 指明该JSP内是否内置Session对象,如果为true,则说明内置Session对象,可以直接使用。否则没有内置Session对象。默认情况下,session属性的值为true。需要注意的是,JSP 引擎自动导入以下四个包: java.lang.* javax.servlet.* javax.servlet.jsp.* javax.servlet.http.*
autoFlush true、false 指明是否运行缓存。如果为true,使用out.println()等方法输出的字符串并不立刻缓存到客户端服务器,而是暂时存在缓冲区里,缓存满或者程序执行完毕,或执行out.flush()操作才会到客户端,默认情况下,autoFlush的值为true
buffer none或者数字+kb 指定缓存的大小,当autoFlush设为true时有效。例如: <%@ page buffer=”10kb” %>
isThreadSafe true、false 指定线程是否安全。如果为true,则多个线程同时运行该JSP程序,否则只运行一个线程,其它线程等待,默认情况下,isThreadSafe的值为true
isErrorPage true、false 指定该页面是否为错误处理页面,如果为true,则该JSP内置有一个Exception对象的exception,可直接使用,其余线程等待。默认情况下,isErrorPage的值为true
errorPage 某个JSP页面的相对路径 指定一个错误页面,如果该JSP程序抛出一个未捕捉的异常,则转到errorPage指定的页面。errorPage指定页面的isErrorPage属性为true,且内置的exception对象为未捕捉的异常
contentType 有效的文档类型 客户端浏览器根据该属性判断文档类型,例如: HTML格式为text/html 纯文本格式为text/plain JPG图像为image/jpeg GIF图像为image/gif WORD文档为application/msword
info 任意字符串 指明JSP的信息,该信息可以通过Servlet.getServletInfo()方法获取到
trimDirectiveWhitespace true、false 是否去掉指令前后的空白字符,默认情况下,trimDirectiveWhitespace的值为false

表1中列举了page指令的常见属性,其中,除了import属性外,其它的属性都只能出现一次,否则会编译失败。需要注意的是,page指令的属性名称都是区分大小写的。

点击此处
隐藏目录