JSP page 指令
-
JSP-page指令
page指令用于提供指令,涉及到当前JSP页面的容器。您可以在JSP页面中的任何位置编写页面指令。按照约定,页面指令在JSP页面的顶部进行编码。以下是页面指令的基本语法-<%@ page attribute = "value" %>
您可以编写与上述指令等效的XML,如下所示:<jsp:directive.page attribute = "value" />
属性::下表列出了与page指令关联的属性-属性 描述 buffer 指定输出流的缓冲模型。 autoFlush 控制Servlet输出缓冲区的行为。 contentType 定义字符编码方案。 errorPage 定义另一个报告Java未经检查的运行时异常的JSP的URL。 isErrorPage 指示此JSP页面是否是另一个JSP页面的errorPage属性指定的URL。 extends 指定生成的servlet必须扩展的超类。 import 指定要在JSP中使用的软件包或类的列表,就像Java import语句对Java类所做的那样。 info 定义一个可以使用servlet的getServletInfo()方法访问的字符串。 isThreadSafe 为生成的servlet定义线程模型。 language 定义JSP页面中使用的编程语言。 session 指定JSP页面是否参与HTTP会话 isELIgnored 指定是否将忽略JSP页面内的EL表达式。 isScriptingEnabled 确定是否允许使用脚本元素。 -
buffer 属性
buffer属性指定服务器输出响应对象的缓冲特性。您可以将值“none” 编码为不指定任何缓冲,以便将servlet输出立即定向到respose对象,或者可以将最大缓冲区大小(以千字节为单位)编码,这将指示servlet在写入响应之前先写入缓冲区。目的。要指示servlet将输出直接写到响应输出对象,请使用以下命令-<%@ page buffer = "none" %>
使用以下命令指示servlet将输出写入大小不小于8 KB的缓冲区中-<%@ page buffer = "8kb" %>
-
autoFlush 属性
autoFlush属性指定是否当缓冲区被填充,或者是否异常应该提高以指示缓冲器溢出缓冲的输出应自动刷新。值为“true”(默认)表示自动刷新缓冲区,值为“false”则引发异常。当servlet的输出缓冲区已满时,以下指令导致servlet引发异常-<%@ page autoFlush = "false" %>
此指令导致servlet满时刷新输出缓冲区-<%@ page autoFlush = "true" %>
通常,buffer和autoFlush属性在单个页面指令上编码,如下所示:<%@ page buffer = "16kb" autoflush = "true" %>
-
contentType 属性
contentType属性设置JSP页面和生成的响应页面的字符编码。默认内容类型为text/html,这是HTML页面的标准内容类型。如果要从JSP中写出XML,请使用以下页面指令-<%@ page contentType = "text/xml" %>
以下语句指示浏览器将生成的页面呈现为HTML-<%@ page contentType = "text/html" %>
以下指令将内容类型设置为Microsoft Word文档-<%@ page contentType = "application/msword" %>
您还可以指定响应的字符编码。例如,如果您要指定返回到浏览器的结果页面使用ISO Latin 1,则可以使用以下页面指令-<%@ page contentType = "text/html:charset=ISO-8859-1" %>
-
errorPage 属性
contentType属性告诉JSP引擎是否存在,而当前页面运行的错误,页面显示。errorPage属性的值是一个相对URL。抛出所有未捕获的异常时,以下指令显示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 import = "java.sql.*" %>
要导入多个软件包,您可以指定它们,并用逗号分隔,如下所示:<%@ page import = "java.sql.*,java.util.*" %>
默认情况下,容器会自动导入java.lang.*,javax.servlet.*,javax.servlet.jsp.*和javax.servlet.http.*。 -
info 属性
info属性让你提供的JSP的说明。以下是一个编码示例-<%@ page info = "This JSP Page Written By Moo" %>
-
isThreadSafe 属性
isThreadSafe属性标记的页面为线程安全的。默认情况下,所有JSP都被认为是线程安全的。如果将isThreadSafe选项设置为false,则JSP引擎确保一次仅执行一个线程。以下页面指令将isThreadSafe选项设置为false-<%@ page isThreadSafe = "false" %>
-
language 属性
language属性指示在脚本的JSP页面中使用的编程语言。例如,由于您通常使用Java作为脚本语言,因此您的语言选项如下所示-<%@ page language = "java" %>
-
session 属性
session属性指示JSP页面是否使用HTTP会话。值为true表示JSP页面可以访问内置会话对象,而值为false意味着JSP页面不能访问内置会话对象。以下指令允许JSP页面使用任何内置对象会话方法,例如session.getCreationTime()或session.getLastAccessTime() -<%@ page session = "true" %>
-
isELIgnored 属性
isELIgnored 属性使您能够禁用JSP 2.0中引入的对表达式语言(EL)表达式的求值。该属性的默认值为true,这意味着表达式${...}是根据JSP规范来求值的。如果属性设置为false,则不对表达式求值,而是将其视为静态文本。以下指令设置了不求值的表达式-<%@ page isELIgnored = "false" %>
-
isScriptingEnabled 属性
isScriptingEnabled 属性确定该脚本元素被允许使用。该默认值(true)使scriptlet,表达式和声明。如果属性的值设置为false,那么如果JSP使用任何脚本,表达式(非EL)或声明,则会引发翻译时错误。如果您想限制脚本,表达式(非EL)或声明的使用,则可以将该属性的值设置为false-<%@ page isScriptingEnabled = "false" %>