JAVA記錄-JSP指令

來源:互聯網
上載者:User

標籤:htm   ros   bsp   出錯   控制   imp   瀏覽器   nbsp   提示   

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

序號 指令 說明
1 <%@ page ... %> 定義頁面相關屬性,如指令碼語言,錯誤頁面和緩衝要求。
2 <%@ include ... %> 在編譯階段包括檔案。
3 <%@ taglib ... %> 聲明頁面中使用的包含自訂動作的標籤庫

JSP中的page指令用於向容器提供與當前JSP頁面相關的指令。可以在JSP頁面的任何位置使用page指令進行編碼。 按照慣例,page指令被編碼在JSP頁面的頂部。

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

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

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

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

屬性

下表列出了與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 確定指令碼元素是否被允許使用。
1. buffer屬性

buffer屬性指定伺服器輸出響應對象的緩衝特性。

可以編寫指一個none值來指定不使用緩衝,以便servlet輸出立即被定向到響應對象,或者可以編寫一個以KB為單位的最大緩衝區大小,這將指示servlet在寫入響應之前寫入緩衝區。

如要指示servlet將輸出直接寫入響應輸出對象,請使用以下命令 -

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

使用以下命令來指示servlet將輸出寫入大小不小於64KB位元組的緩衝區 -

<%@ page buffer = "64kb" %>
HTML2. autoFlush屬性

autoFlush屬性指定緩衝區輸出是否在緩衝區填充時自動重新整理,或者是否引發異常以指示緩衝區溢位。

true(預設值)值表示自動緩衝區重新整理,false值表示引發異常。

當servlet的輸出緩衝區已滿時,以下指令會導致servlet拋出異常,則使用以下語句 -

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

此指令使servlet在完全輸出時重新整理輸出緩衝區,

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

通常,bufferautoFlush屬性在page指令中進行編碼,如下所示:

<%@ page buffer = "16kb" autoflush = "true" %>
HTML3. contentType屬性

contentType屬性設定JSP頁面和產生的響應頁面的字元編碼。 預設內容類型為:text/html,它是HTML頁面的標準內容類型。

如果要從JSP輸出為XML,請使用以下page指令 -

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

以下語句指示向瀏覽器產生的頁面呈現為HTML -

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

以下指令將內容類型設定為:Microsoft Word文檔 -

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

還可以指定響應的字元編碼。 例如,如果要指定返回瀏覽器的結果頁面使用:UTF-8,則可以使用以下page指令 -

<%@ page contentType = "text/html:charset=UTF-8" %>
HTML4. errorPage屬性

如果希望在當前頁面運行時出現錯誤時,指定一個錯誤提示頁面,那麼errorPage屬性告訴JSP引擎顯示哪個頁面。errorPage屬性的值是相對URL。

當拋出所有未捕獲的異常時,以下指令用於在頁面出錯時指定顯示MyErrorPage.jsp的內容 -

<%@ page errorPage = "MyErrorPage.jsp" %>
HTML5. isErrorPage屬性

isErrorPage屬性工作表示當前的JSP頁面可以用作另一個JSP的錯誤頁面。

isErrorPage的值可為truefalse。 isErrorPage屬性的預設值為false

例如,handleError.jspisErrorPage選項設定為true,因為它應該處理錯誤 -

<%@ page isErrorPage = "true" %>
HTML6. extends屬性

extends屬性指定產生的servlet必須擴充的超類。

例如,以下指令指示JSP轉換器產生servlet,以使servlet擴充somePackage.SomeClass -

<%@ page extends = "somePackage.SomeClass" %>
HTML7. import屬性

import屬性與Java import語句具有相同的功能,並且類似於Java import語句。import選項的值是要匯入的程式包的名稱。

例如,要匯入java.sql.*,請使用以下page指令 -

<%@ page import = "java.sql.*" %>
HTML

要匯入多個包,可以使用逗號分隔,如下所示:

<%@ page import = "java.sql.*,java.util.*"  %>
HTML

預設情況下,容器會自動匯入java.lang.*javax.servlet.*javax.servlet.jsp.*javax.servlet.http.*

8. info屬性

info屬性允許提供JSP的描述。以下是一個程式碼範例 -

<%@ page info = "This JSP Page Written By Maxsu"  %>
HTML9. isThreadSafe屬性

isThreadSafe選項將頁面標記為安全執行緒。預設情況下,所有JSP都被認為是安全執行緒的。 如果將isThreadSafe選項設定為false,則JSP引擎確保一次只有一個線程正在執行JSP。

以下page指令將isThreadSafe選項的值設定為false -

<%@ page isThreadSafe = "false"  %>
HTML10. language屬性

language屬性指示在JSP頁面指令碼編寫中使用的程式設計語言。

例如,由於通常我們使用Java作為指令碼語言,因此language選項可設定成如下:

<%@ page language = "java" %>
HTML11. session屬性

session屬性指示JSP頁面是否使用HTTP會話。如果設定值為true,則表示JSP頁面可以訪問內建session對象,設定值為false表示JSP頁面無法訪問內建session對象。

以下指令允許JSP頁面使用任何內建session對象方法,如:session.getCreationTime()session.getLastAccessTime() -

<%@ page session = "true" %>
HTML12. isELIgnored屬性

isELIgnored屬效能夠禁用JSP 2.0中引入的運算式語言(EL)運算式的求值計算。

isELIgnored屬性的預設值為true,這意味著運算式${...}按JSP規範進行評估計算。如果屬性設定為false,則不會對錶達式進行評估求值,而將其視為靜態常值內容。

以下指令設定運算式不會被評估計算 -

<%@ page isELIgnored = "false" %>
HTML13. isScriptingEnabled屬性

isScriptingEnabled屬性確定指令碼元素是否被允許使用。

isScriptingEnabled屬性預設值為true,它表示啟用指令碼,運算式和聲明。 如果屬性的值設定為false,則如果JSP使用任何指令碼,運算式(非EL)或聲明,則會引發轉換時錯誤。

如果要限制指令碼,運算式(非EL)或聲明的使用,可將isScriptingEnabled屬性的值可以設定為false -

<%@ page isScriptingEnabled = "false" %>

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

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

<%@ include file = "relative url" >

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

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

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

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

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

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

這裡,uri屬性值解析為容器理解的位置,並且prefix屬性通知容器什麼位置的標記是自訂動作。
可以使用XML編寫上述文法,如下所示:

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

當您使用自訂標籤時,通常是<prefix:tagname>的形式。 首碼與在taglib指令中指定的首碼相同,標記名是標記庫中實現的標記的名稱。

 

JAVA記錄-JSP指令

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.