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” %> |