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指令相關所有上述屬性的更多詳細資訊。請參考:/20/219/8450.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指令