您可">
编程开发 > JSP > 文章内容

JSP教程:JSPpage指令

2017-6-9编辑:daibenhua

  page指令用于提供指示,涉及到当前JSP页面的容器。你可以在你的JSP页面的任何地方代码页指令。按照惯例,page指令进行编码的JSP页面的顶部。

  以下是page指令的基本语法:

  

<%@ page attribute="value" %>
<%@ page attribute="value" %>

  您可以编写XML相当于上面的语法如下:

  

 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 属性:

  buffer 属性指定服务器输出的响应对象缓冲特性。

  你可以编写“none”值来指定没有缓冲,使所有servlet的输出立即定向到响应对象,或者您可以编写一个最大缓冲区大小以KB为单位写入到响应之前,它指示的servlet写入缓冲区对象。

  可直接进行servlet来写直接输出到响应输出对象,使用以下命令:

  

<%@ page buffer="none" %>
<%@ page buffer="none" %>

  使用以下方法来指导servlet将输出写入大小不超过8千字节以下的缓冲区:

  

<%@ page buffer="8kb" %>
<%@ page buffer="8kb" %>

  autoFlush 属性:

  AutoFlush属性指定是否缓冲输出,当缓冲区填满,或异常是否应该提高,表明缓冲区溢出应该会自动刷新。

  true(默认)值表示自动缓冲刷新和false值抛出一个异常。

  下面的指令使当servlet的输出缓冲区已满抛出一个异常的servlet:

  

<%@ page autoFlush="false" %>
<%@ page autoFlush="false" %>

  该指令使该servlet来刷新输出缓冲区满时:

  

<%@ page autoFlush="true" %>
<%@ page autoFlush="true" %>

  通常情况下,缓冲区和自动冲洗属性在一个单一的页面指令编码如下:

  

<%@ page buffer="16kb" autoflush="true" %>
<%@ page buffer="16kb" autoflush="true" %>

  contentType 属性:

  contentType属性设置为JSP页面并生成响应页面的字符编码。默认的内容类型是text/html,这是标准的内容类型为HTML页面。

  如果想从JSP写出来的XML,使用下面的page指令:

  

<%@ page contentType="text/xml" %>
<%@ page contentType="text/xml" %>

  下面的语句指示浏览器渲染生成的页面的HTML:

  

<%@ page contentType="application/msword" %>
<%@ page contentType="text/html" %>

  下面的指令设置内容类型为Microsoft Word文档:

 

<%@ page contentType="text/html:charset=ISO-8859-1" %>

 <%@ page contentType="application/msword" %>

  您也可以指定响应的字符编码​​。例如,如果你想指定返回给浏览器产生的页面使用ISO Latin 1,你可以使用下面的page指令:

  <%@ page contentType="text/html:charset=ISO-8859-1" %>

  errorPage 属性:

  errorPage属性告诉JSP引擎要显示的页面,如果有一个错误在当前页面运行一段时间。errorPage属性的值是一个相对URL。

  下面的指令显示MyErrorPage.jsp当所有未捕获的异常被抛出:

  

<%@ page errorPage="MyErrorPage.jsp" %>
<%@ page errorPage="MyErrorPage.jsp" %>

  isErrorPage 属性:

  isErrorPage属性表示当前JSP可以被用来作为另一个JSP的错误页面。

  isErrorPage的值为true或false。在isErrorPage属性的默认值是false。

  例如,handleError.jsp设置isErrorPage选项设置为true,因为它应该处理错误:

  <%@ page isErrorPage="true" %>

  extends 属性:

  extends属性指定一个超类生成的servlet必须扩展。

  例如,下面的指令指示JSP转换生成的servlet使得servlet的扩展somePackage.SomeClass:

  <%@ page extends="somePackage.SomeClass" %>

  import 属性:

  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.*.

  info 属性:

  该信息属性可以让你提供了JSP的描述。下面是一个编码的例子:

  <%@ page info="This JSP Page Written By ZARA" %>

  isThreadSafe 属性:

  isThreadSafe选项标志着一个页面作为是线程安全的。默认情况下,所有的JSP被认为是线程安全的。如果您将isThreadSafe选项设置为false,JSP引擎使得只有一个线程在同一时间正在执行您的JSP确定。

  下页指令设置isThreadSafe选项设置为false:

  <%@ page isThreadSafe="false" %>

  language 属性:

  language 属性指示在脚本的JSP页面使用的编程语言。

  例如,因为您通常使用Java作为脚本语言,你的语言选项看起来像这样:

  <%@ page language="java" %>

  session 属性:

  会话属性指示JSP页面是否使用HTTP会话。值为true意味着JSP页面可以访问一个内建的会话对象和false表示的值的JSP页面不能访问内置的session对象。

  下列指令允许JSP页面使用任何内置的会话对象的方法,如session.getCreationTime()或session.getLastAccessTime():

  <%@ page session="true" %>

  isELIgnored 属性:

  isELIgnored选项使您可以禁用表达式语言(EL)表达式的计算能力已在JSP 2.0中被引入

  该属性的默认值为true,这意味着表达式,${...},评估所决定的JSP规范。如果该属性设置为false,则表达式不计算,而是视为静态文本。

  下面的指令设置一个表达式不进行计算:

  <%@ page isELIgnored="false" %>

  isScriptingEnabled 属性:

  isScriptingEnabled属性决定是否允许使用脚本元素。

  默认值(true),使scriptlet,表达式和声明。如果该属性的值设置为false,翻译时错误会在JSP中使用任何scriptlet以便得到抛出,表达式(非EL),或声明。

  如果你想限制使用的小脚本,表达式(非EL),或声明该值设置为false:

  <%@ page isScriptingEnabled="false" %>

JSP教程:JSP生命周期

热点推荐

登录注册
触屏版电脑版网站地图