JSP的三個編譯指令

來源:互聯網
上載者:User

JSP的編譯指令是通知JSP引擎的訊息,它不直接產生輸出。編譯指令都有預設值,因此開發人員無需為每個指令賦值。它的基本文法是:<%@編譯指令名   屬性名稱=“屬性值” ···········%>

(一)page:該指令是針對當前頁面的指令,page指令通常位於JSP頁面的頂端,一個JSP頁面可以使用多條page指令。page指令的文法格式:

〈%@page
[language="Java"]
[extends="package.class"]
[import="package.classIpackage. *},…"]
[session=噸rueIfalse"]
[buffer="noneI8kbIsize kb"1
[autoFlush="trueIfalse"]
[isThread8afe="trueIfalse"][info="text"]
[errorPage="relativeURL"]
[contentType=mimeType[;charset=character8et]"I"text/html;char8et=工808859-1"]
[IsErrorPage="trueIfalse"]
%〉


下面依次介紹page 的各個屬性。

language: 聲明當前 JSP 頁面使用的指令碼語言的種類,因為頁面是 JSP 頁面,該

屬性的值通常都是java。

extends: 確定 JSP程式編譯時間所產生的 Java類,需要繼承的父類,或者需要實現的介面的全限定類名。

import: 用來匯入包,下面幾個包是預設自動匯入的,不需要顯式匯入。預設匯入的包有:

java.lang.* javax.servlet.*javax.serlet.jsp.* javax.servlet.http*

session: 設定這個 JSP 頁面是否需要 HTIP session。

buffer: 指定輸出緩衝區的大小。輸出緩衝區的 JSP 內部對象: out 用於緩衝 JSP頁面對客戶瀏覽器的輸出,預設值為 8脅,可以設定為 none,也可以設定為其他的值,單位為 kb。

autoFlush: 當輸出緩衝區即將溢出時,是否需要強制輸出緩衝區的內容。設定為true 時為正常輸出:如果設定為 false,會在 buffer溢出時產生一個異常。

info: 設定該 JSP程式的資訊,也可以看做其說明,可以通過 Serlet. getServletInfoO方法擷取該值。如果在 JSP 頁面中,可直接調用 getServletInfoO方法擷取該值,因為 JSP 頁面的實質就是 Serlet。

eηorPage: 指定錯誤處理頁面。如果本程式產生了異常或者錯誤,而該 JSP 頁面沒有對應的處理代碼,則會自動調用該指令所指定的 JSP 頁面。使用 JSP 頁面時,可以不處理異常,即使是 checked 異常。

isErroePage: 設定本 JSP 頁面是否為錯誤處理程式。如果該頁面本身己是錯誤處理頁面,則無須使用 errorPage 屬性。

contentType: 用於設定產生網頁的檔案格式和編碼方式,即 MIME類型和頁面宇符集類型,預設的 MIME類型是 textlhtml; 預設的字元集為 ISO-8859-1


  errorPage屬性的實質是JSP異常處理機制,JSP指令碼不要求強制處理異常,即使該異常是checked異常。如果JSP頁面在運行中拋出未處理的異常,系統將自動跳轉到errorPage屬性指定的頁面;一旦errorPage屬性設定了指定的JSP頁面,則指定的JSP頁面的isErrorPage屬性設定為true。

 (二)include指令:用於包含另一個頁面,可以將一個外部檔案嵌入到當前JSP檔案中,同時解析這個頁面中的JSP語句。這是個靜態include語句,它會把目標頁面的其他編譯指令也包含進來,但動態不會。include既可以包含靜態文本,也可以包含動態JSP頁面。

文法:<% @include file="relativeURLSpec"%>  include指令最好包含的是不需要經常改變的靜態內容。如果被內嵌檔案經常需要改變,建議使用<jsp:include>操作指令。


(三)taglib指令

taglib指令允許頁面使用使用者自訂標籤。使用者首先要開發自己的標籤庫(taglib),為標籤庫編寫設定檔(以.tld為尾碼的檔案),然後在JSP頁面中使用該自訂標籤。由於使用了標籤,增加了代碼的重用程度,比如可以把一些需要迭代顯示的內容做成一個標籤,在每次需要迭代顯示時,就使用這個標籤。使用標籤也使頁面易於維護。

在JSP規範中,標籤庫得到了不斷的加強,在最新的JSP 2.0 規範中增加了JSP 標準標籤庫(JSP Standard Tag Library,JSTL),使用者可以直接應用。

在JSP中利用使用者自訂標籤庫或JSTL的文法格式如下。

<%@ taglib uri="tablibURI" prefix="tagPrefix"%>

其中,uri用來表示標籤庫的地址,也就是告訴JSP容器怎麼找到標籤描述檔案和標籤庫,prefix 表示在JSP頁面裡引用這個標籤的首碼,這些首碼不可以是jsp、jspx、java、javax、sun、servlet和sunw。

       

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.