JSP 指令

JSP 指令,指令控制整个 JSP 页面的处理。它向服务器提供有关页面处理的指示。

指令语法:

 <%@ directive name [attribute name=“value” attribute name=“value” ........]%>

JSP 中有三种类型的指令:

1)page指令

2)include指令

3)TagLib指令

page指令

有几个属性,与page指令一起使用,它们是:

  • import
  • session
  • isErrorPage
  • errorPage
  • ContentType
  • isThreadSafe
  • extends
  • info
  • language
  • autoflush
  • buffer

import

此属性用于导入包。在进行编码时,您可能需要包含多个包。在这种情况下,此page指令的属性非常有用,因为它允许您在逗号(,)之间用同一位置提及多个包。或者,您可以拥有多个页面元素实例,每个实例都包含不同的包。

导入属性的语法:

<%@page import="value"%>

这里的值是包名。

导入示例: 以下是如何使用page指令的import属性导入多个包的示例。

 <%@page import="java.io.*%>
 <%@page import="java.lang.*%>
 <%--Comment: OR Below Statement: Both are Same--%>
 <%@page import="java.io.*, java.lang.*"%>

session

通常在构建用户交互式 JSP 应用时,我们确保允许用户访问以获取他/她的个人数据,直到会话处于活动状态。考虑一个登录到您的银行帐户的示例,我们可以访问您的所有数据,直到我们退出(或会话到期)。为了维护页面的会话,会话属性应为true

此属性用于处理 JSP 页面的 HTTP 会话。它可以有两个值:truefalse。会话属性的默认值为true,这意味着如果您不提及此属性,则服务器可能会认为此页面需要 HTTP 会话。

此属性的默认值true

会话属性语法:

<%@ page session="value"%>

这里的值是是true或者false

会话示例:

<%@ page session="true"%>

上面的代码将允许页面具有 session 隐式对象

<%@ page session="false"%>

如果在 JSP 页面中指定了此代码,则意味着session对象将不可用于该页面。因此,无法为该页面维护会话。

isErrorPage

此属性用于指定当前 JSP 页面是否可用作另一个 JSP 页面的错误页面。如果isErrorPage的值为true,则表示该页面可用于其他页面的异常处理。通常,这些页面具有错误/警告消息或异常处理代码,并且当发生异常时由另一个 JSP 页面调用。

isErrorPage属性还有另一种用法 – exception隐式对象只能用于isErrorPage设置为true的那些页面。如果值为false,则页面不能使用 exception 隐式对象

默认值false

isErrorPage属性的语法:

<%@ page isErrorPage="value"%>

这里的值是truefalse

isErrorPage示例:

<%@ page isErrorPage="true"%>

这使得 JSP 页面成为异常处理页面。

errorPage

如上所述,当isErrorPage属性对于特定页面为true时,则表示在异常情况下该页面可以被另一个页面调用。errorPage属性用于指定将isErrorPage属性设置为true的 JSP 页面的 URL。它处理页面中未处理的异常。

errorPage属性的语法:

<%@ page errorPage="value"%>

这里的值是一个 JSP 页面名称,它具有异常处理代码(并且isErrorPage设置为true)。

errorPage示例:

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

这意味着如果在放置此代码的 JSP 页面上发生任何异常,则需要调用ExceptionHandling.jsp(此页面应具有isErrorPage true)页面。

contentType

此属性用于设置 JSP 页面的内容类型。

默认值text/html

contentType属性的语法:

<%@ page contentType="value"%>

这里内容类型的值可以是诸如:text/htmltext/xml等。

contentType示例:

下面的代码可用于text/html页面。

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

对于基于text/xml的页面:

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

isThreadSafe

让我们通过一个例子来理解这一点。假设您已经创建了一个 JSP 页面并将isThreadSafe提到为true,这意味着 JSP 页面支持多线程(多个线程可以同时执行 JSP 页面)。另一方面,如果将其设置为false,则 JSP 引擎将不允许多线程,这意味着只有单个线程将执行页面代码。

isThreadSafe属性的默认值true

isThreadSafe属性的语法:

<%@ page isThreadSafe="value"%>

这里的值可以是truefalse

isThreadSafe示例:

<%@ page isThreadSafe="false"%>

只有一个线程负责 JSP 页面执行。

buffer

此属性用于指定缓冲区大小。如果在编码期间将此值指定为none,则输出将由JSPWriter直接写入Response对象。并且,如果指定缓冲区大小,则输出首先写入缓冲区,然后它将可用于response对象。

buffer属性的语法:

<%@ page buffer="value"%>

值为大小(单位为 KB)none

缓冲区示例:

此页面没有缓冲区:

<%@ page buffer="none"%>

页面的 5 kb 缓冲区大小,代码如下:

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

extends

像 java 一样,这里的属性也用于扩展(继承)类。

extends属性的语法:

<%@ page extends="value"%>

值为package_name.class_name

延伸示例:

下面的代码将从包中继承SampleClass.mypackage

<%@ page extends="mypackage.SampleClass"%>

info

它提供了对 JSP 页面的描述。当我们调用getServletInfo()方法时,info中指定的字符串将返回。

info语法:

<%@ page info="value"%>

这里的值是消息或描述

info属性示例:

<%@ page info="This code is given by Chaitanya Singh"%>

language

它指定页面中使用的脚本语言(基础语言)。

language语法:

<%@ page language="value"%>

值是这里的脚本语言。

语言属性示例:

<%@ page language="java"%>

autoFlush

如果为true,则表示缓冲区应该在满时刷新。当缓冲区溢出时,false将抛出异常。

默认值true

autoFlush的语法:

<%@ page autoFlush="value"%>

值可以是truefalse

autoFlush属性示例:

缓冲区将在满时刷新:

<%@ page autoFlush="true"%>

由于溢出条件,缓冲区满时会抛出异常

<%@ page autoFlush="true"%>

isScriptingEnabled

它已被删除而未被使用。

isELIgnored

此属性指定是否评估表达式。

默认值true

isELIgnored的语法:

<%@ page isELIgnored="value"%>

value can be true or false.

isELIgnored属性示例:

JSP 页面中存在的任何表达式都不会被评估:

<%@ page isELIgnored="false"%>

将评估表达式(true是默认值,因此无需指定):

<%@ page isELIgnored="true"%>

include指令

Include指令用于将一个 JSP 页面的内容复制到另一个 JSP 页面。这就像将一个文件的代码包含在另一个文件中。

include指令的语法:

<%@include file ="value"%>

这里的值是需要包含的 JSP 文件名。如果文件位于同一目录中,则只需指定文件名,否则需要在值字段中提及完整的 URL(或路径)。

注意:它可以在页面的任何地方使用。

示例:

<%@include file="myJSP.jsp"%>

您可以在 JSP 页面中使用上述代码来复制myJSP.jsp文件的内容。但是,在这种情况下,两个 JSP 文件必须位于同一目录中。如果myJSP.jsp位于不同的目录中,那么您需要在上面的代码中指定完整路径,而不仅仅是文件名。

必须通过示例详细阅读Include 指令

Taglib指令

该指令基本上允许用户在 JSP 中使用Custom标签。我们将在即将到来的 JSP 教程中详细讨论Custom标签。Taglib指令可帮助您在 JSP 页面中声明自定义标签。

Taglib指令语法:

<%@taglib uri ="taglibURI" prefix="tag prefix"%>

其中 URI 是统一资源定位符,用于标识自定义标签的位置,标签前缀是一个字符串,可以标识 URI 标识的位置中的自定义标签。

Targlib的例子:

<%@ taglib uri="http://www.sample.com/mycustomlib" prefix="demotag" %>
<html>
<body>
<demotag:welcome/>
</body>
</html>

如您所见,URI 具有自定义标签库的位置,前缀标识自定义标签的前缀。

注意:在上面的例子中 – <demotag:welcome>有一个前缀demotag

赞(0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址