发布于 2015-08-17 14:57:29 | 97 次阅读 | 评论: 0 | 来源: 网络整理
page指令用于提供指示,涉及到当前JSP页面的容器。你可以在你的JSP页面的任何地方代码页指令。按照惯例,page指令进行编码的JSP页面的顶部。
以下是page指令的基本语法:
<%@ page attribute="value" %>
您可以编写XML相当于上面的语法如下:
<jsp:directive.page attribute="value" />
以下是page指令相关联的属性的列表:
属性 | 目的 |
---|---|
buffer | Specifies a buffering model for the output stream. |
autoFlush | Controls the behavior of the servlet output buffer. |
contentType | Defines the character encoding scheme. |
errorPage | Defines the URL of another JSP that reports on Java unchecked runtime exceptions. |
isErrorPage | Indicates if this JSP page is a URL specified by another JSP page's errorPage attribute. |
extends | Specifies a superclass that the generated servlet must extend |
import | Specifies a list of packages or classes for use in the JSP as the Java import statement does for Java classes. |
info | Defines a string that can be accessed with the servlet's getServletInfo() method. |
isThreadSafe | Defines the threading model for the generated servlet. |
language | Defines the programming language used in the JSP page. |
session | Specifies whether or not the JSP page participates in HTTP sessions |
isELIgnored | Specifies whether or not EL expression within the JSP page will be ignored. |
isScriptingEnabled | Determines if scripting elements are allowed for use. |
buffer 属性指定服务器输出的响应对象缓冲特性。
你可以编写“none”值来指定没有缓冲,使所有servlet的输出立即定向到响应对象,或者您可以编写一个最大缓冲区大小以KB为单位写入到响应之前,它指示的servlet写入缓冲区对象。
可直接进行servlet来写直接输出到响应输出对象,使用以下命令:
<%@ page buffer="none" %>
使用以下方法来指导servlet将输出写入大小不超过8千字节以下的缓冲区:
<%@ page buffer="8kb" %>
AutoFlush属性指定是否缓冲输出,当缓冲区填满,或异常是否应该提高,表明缓冲区溢出应该会自动刷新。
true(默认)值表示自动缓冲刷新和false值抛出一个异常。
下面的指令使当servlet的输出缓冲区已满抛出一个异常的servlet:
<%@ page autoFlush="false" %>
该指令使该servlet来刷新输出缓冲区满时:
<%@ page autoFlush="true" %>
通常情况下,缓冲区和自动冲洗属性在一个单一的页面指令编码如下:
<%@ page buffer="16kb" autoflush="true" %>
contentType属性设置为JSP页面并生成响应页面的字符编码。默认的内容类型是text/html,这是标准的内容类型为HTML页面。
如果想从JSP写出来的XML,使用下面的page指令:
<%@ page contentType="text/xml" %>
下面的语句指示浏览器渲染生成的页面的HTML:
<%@ page contentType="text/html" %>
下面的指令设置内容类型为Microsoft Word文档:
<%@ page contentType="application/msword" %>
您也可以指定响应的字符编码。例如,如果你想指定返回给浏览器产生的页面使用ISO Latin 1,你可以使用下面的page指令:
<%@ page contentType="text/html:charset=ISO-8859-1" %>
errorPage属性告诉JSP引擎要显示的页面,如果有一个错误在当前页面运行一段时间。errorPage属性的值是一个相对URL。
下面的指令显示MyErrorPage.jsp当所有未捕获的异常被抛出:
<%@ page errorPage="MyErrorPage.jsp" %>
isErrorPage属性表示当前JSP可以被用来作为另一个JSP的错误页面。
isErrorPage的值为true或false。在isErrorPage属性的默认值是false。
例如,handleError.jsp设置isErrorPage选项设置为true,因为它应该处理错误:
<%@ page isErrorPage="true" %>
extends属性指定一个超类生成的servlet必须扩展。
例如,下面的指令指示JSP转换生成的servlet使得servlet的扩展somePackage.SomeClass:
<%@ page extends="somePackage.SomeClass" %>
import 属性提供相同的功能,并可用作Java的import语句。对于导入选项的值是你要导入的包的名称。
若要导入java.sql.*,使用下面的page指令:
<%@ page import="java.sql.*" %>
要导入您可以指定它们用逗号如下分隔的多个程序包:
<%@ page import="java.sql.*,java.util.*" %>
默认情况下,容器会自动导入 java.lang.*, javax.servlet.*, javax.servlet.jsp.*, and javax.servlet.http.*.
该信息属性可以让你提供了JSP的描述。下面是一个编码的例子:
<%@ page info="This JSP Page Written By ZARA" %>
isThreadSafe选项标志着一个页面作为是线程安全的。默认情况下,所有的JSP被认为是线程安全的。如果您将isThreadSafe选项设置为false,JSP引擎使得只有一个线程在同一时间正在执行您的JSP确定。
下页指令设置isThreadSafe选项设置为false:
<%@ page isThreadSafe="false" %>
language 属性指示在脚本的JSP页面使用的编程语言。
例如,因为您通常使用Java作为脚本语言,你的语言选项看起来像这样:
<%@ page language="java" %>
会话属性指示JSP页面是否使用HTTP会话。值为true意味着JSP页面可以访问一个内建的会话对象和false表示的值的JSP页面不能访问内置的session对象。
下列指令允许JSP页面使用任何内置的会话对象的方法,如session.getCreationTime()或session.getLastAccessTime():
<%@ page session="true" %>
isELIgnored选项使您可以禁用表达式语言(EL)表达式的计算能力已在JSP 2.0中被引入
该属性的默认值为true,这意味着表达式,${...},评估所决定的JSP规范。如果该属性设置为false,则表达式不计算,而是视为静态文本。
下面的指令设置一个表达式不进行计算:
<%@ page isELIgnored="false" %>
isScriptingEnabled属性决定是否允许使用脚本元素。
默认值(true),使scriptlet,表达式和声明。如果该属性的值设置为false,翻译时错误会在JSP中使用任何scriptlet以便得到抛出,表达式(非EL),或声明。
如果你想限制使用的小脚本,表达式(非EL),或声明该值设置为false:
<%@ page isScriptingEnabled="false" %>