Page指令主要用于设置当前JSP页面的相关属性,如页面的编码形式、缓存大小、错误页面处理等。它作用于整个JSP页面,同样包括静态的包含文件,但是不能作用于动态的包含文件,比如<jsp:include>。可以在一个页面中使用过个类别的page指令,但是其中的属性只能用一次(import属性除外,该属性可以在JSP页面使用多次,功能同Java中的jmport差不多)。
使用eclipse或Myeclipse生成的JSP页面第一行代码就是page指令:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1" %>
无论把Page指令放在JSP文件的哪个位置,它的作用范围都是整个JSP页面,不过,为了提高JSP程序的可读性,最好还是把它放在JSP文件的顶部。
Page指令有多个属性,JSP页面中默认的属性有:language、import、 pageEncoding,不需要全部进行设置,只设置需要的就OK了。以下是Page指令属性的详细信息。
指令属性 |
描述 |
举例 |
language |
指定文件中所使用的脚本语言,默认值仅为java。该指令作用于整个JSP文件。当多次使用时,只有第一次的使用是有效的。 |
<%@page language=”java” %> |
method |
指定Java程序片段所属方法的名称,默认方法为service。当多次使用时,只有第一次的使用是有效的。此属性有效值包括:service、doGet、doPost |
<%@page method =”doPost” %> |
import |
指定导入的Java软件包名或类名列表,可以多次使用此指令来导入不同的软件包,默认值通常为“java.util.*” |
<%@page import=”java.util.*” %> <%@page import=”java.lang.*” %> <%@page import=”javax.servlet.*” %> |
contentType |
指定响应结果的文本类型和JSP页面字符的编码,只可以使用一次,默认值是: text/html;charset=ISO-8859-1 |
<%@page contentType=”text/html;charset=UTF-8” %> |
session=”true | false” |
指定JSP页面是否使用session,默认值为true |
<%@page Session =”true” %> |
errorPage=”error_url” |
指定当页面发生异常时,客户请求被重新定向到哪个网页 |
<%@page ErrorPage =”error.jsp” %> |
isErrorPage=”true | false” |
表示当前页面是否为处理异常的页面 |
<%@page IsErrorPage =”true” %> |
buffer |
用来指定out设置的缓冲区的大小或不使用缓冲区,可以取值为none,表示设置out不使用缓冲区,默认值为8kb |
<%@page buffer=”24kb” %> |
autoFlush=”true|false” |
指定当out的缓冲区被填满时,缓冲区是否自动刷新,默认值为true。当buffer的值为none时,autoFlush的值就不能设置成false |
<%@page autoFlush =”true” %> |
isThreadSafe=”true|false” |
设置JSP页面是否可以多线程访问,默认值为true |
<%@page isThreadSafe =”true” %> |
pageEncoding |
当前JSP页面的编码格式,默认为iSO-8859-1 |
<%@page pageEncoding =”UTF-8” %> |
isELIgnored |
是否忽略EL表达式(是否支持EL表达式),默认值为false(不忽略,支持EL表达式) |
<%@page isELIgnored =”false” %> |
extends |
指定当前页面继承的文件或方法 |
|
info |
该属性为JSP页面准备一个字符串,其属性值是某个字符串,可以在JSP页面中使用getServletInfo()方法,获取info属性的属性值 |
<%@page info=”test” %> |