JSP指令

在本章中,我們將介紹和學習JSP中的指令。這些指令向容器提供指示和說明,告訴容器如何處理JSP處理的請求和響應。

JSP指令影響servlet類的整體結構。它通常具有以下形式 -

<%@ directive attribute = "value" %>

指令可以有多個屬性,可以將其列爲鍵值對,並以逗號分隔。

@符號和指令名稱之間,以及最後一個屬性和關閉%>之間的空格是可選的。

JSP中有三種類型的指令標籤 -

序號

指令

說明

1

<%@ page ... %>

定義頁面相關屬性,如腳本語言,錯誤頁面和緩衝要求。

2

<%@ include ... %>

在編譯階段包括文件。

3

<%@ taglib ... %>

聲明頁面中使用的包含自定義操作的標籤庫

1. page指令

page指令用於向容器提供說明。這些說明涉及當前的JSP頁面。可以在JSP頁面的任何位置編寫page指令。按照慣例,page指令被編碼在JSP頁面的頂部。

以下是page指令的基本語法 -

<%@ page attribute = "value" %>

可以使用XML編寫上述語法,如下所示:

<jsp:directive.page attribute = "value" />

屬性

下表列出了與page指令相關聯的屬性 -

序號

屬性

說明

1

buffer

指定輸出流的緩衝模型。

2

autoFlush

控制servlet輸出緩衝區的行爲。

3

contentType

定義字符編碼方案。

4

errorPage

定義另一個報告Java未檢查運行時異常的JSP的URL。

5

isErrorPage

指示此JSP頁面是否是由另一個JSP頁面的errorPage屬性指定的URL。

6

extends

指定生成的servlet必須擴展的超類。

7

import

指定JSP中使用的包或類的列表,就像Java的import語句一樣。

8

info

定義可以使用servlet的getServletInfo()方法訪問的字符串。

9

isThreadSafe

定義生成的servlet的線程模型。

10

language

定義JSP頁面中使用的編程語言。

11

session

指定JSP頁面是否參與HTTP會話

12

isELIgnored

指定JSP頁面中的EL表達式是否被忽略。

13

isScriptingEnabled

確定腳本元素是否被允許使用。

查看與page指令相關所有上述屬性的更多詳細信息。請參考:http://www.yiibai.com/jsp/page\_directive.html

2. include指令

include指令用於在編譯階段包括一個文件。這個指令告訴容器在編譯階段將其他外部文件的內容合併到當前JSP文件中。可在JSP頁面的任何位置使用include指令進行編碼。

本指令的一般用法形式如下:

<%@ include file = "relative url" >

include指令中的文件名實際上是一個相對URL。如果只指定一個沒有關聯路徑的文件名,那麼JSP編譯器會假定該文件與JSP在同一個目錄中。
可以使用XML編寫上述代碼效果相同,如下所示:

<jsp:directive.include file = "relative url" />

有關include指令的更多詳細信息,請查看鏈接:include指令

3. taglib指令

JSP API允許自定義的JSP標籤,如:HTML或XML標籤,標籤庫是一組實現自定義行爲的用戶定義標籤。

taglib指令聲明JSP頁面使用一組自定義標籤,標識庫的位置,並提供了在JSP頁面中標識自定義標籤的方法。

taglib指令遵循下面給出的語法 -

<%@ taglib uri="uri" prefix = "prefixOfTag" >

這裏,uri屬性值解析爲容器理解的位置,並且prefix屬性通知容器什麼位置的標記是自定義操作。
可以使用XML編寫上述語法,如下所示:

<jsp:directive.taglib uri = "uri" prefix = "prefixOfTag" />

有關taglib指令的更多詳細信息,請查看taglib指令。