JSP/Servlet/JSF--對標籤庫的深入研究

來源:互聯網
上載者:User

標籤庫Taglib

標籤被定義和分布在一個稱為標籤庫的結構中,一個標籤庫是由元資訊和類組成的集合:

1.標籤處理器:實現定製標籤功能的Java類。

2.標籤附加資訊(TEI):向JSP容器提供邊輯以確認標籤屬性和建立變數的類。

3.標籤庫描述器(TLD):描述單個標籤和整個標籤庫屬性的XML文檔。

標籤處理器和標籤附加資訊需要定位在JSP容器類載入器可以找到的地方。標籤庫描述器可在URL指定 的符意位置。JSP1.1規範要求JSP容器接受一個打包成因定結構的JAR檔案的標籤庫。TLD必須是/META- INF目錄中名為taglib.tld的檔案,JAR檔案則複製到/WEB-INF/lib目錄下。

一、標籤實現

1.開發步驟

a.定義標籤的名字、屬性、聲明的變數和標籤體的內容。

b.編寫標籤庫描述器TLD。

c.編寫標籤處理器。

d.在JSP頁面中使用標籤。

2.JSP頁面在JSP容器中的轉換步驟:

JSP頁面存在三種形式:jsp檔案、java檔案和class檔案。

a.指令元素、和向JSP容器提供轉換時資訊。

b.HTML行在_jspService()方法中依順序轉換到out.print()語名中。

c.指令碼元素的聲明被原封不動地複製到_jspService()方法外的源碼中。

d.指令碼元素的運算式在_jspService()方法中依順序轉換到out.print()語名中。

e.指令碼元素的Scriptlet被原封不動地複製到_jspService()方法中。

f.行為元素被轉換為執行其功能的運行時邏輯代碼。

g.定製標籤被擴充到調用其相應標籤處理器中方法的Java語句中。

3.標籤在JSP容器中的轉換步驟:

a.JSP容器使用taglib指令元素定位標籤庫描述器,將頁面中用到的定製標籤和TLD相匹配。

b.讀取標籤庫描述器的標籤列表和每一標籤相關的類名字。

c.在頁面中遇到一個標籤時,尋找與具有指定名字的標籤首碼相關的一個標籤庫。

d.容器使用在TLD中找到的標籤結構資訊產生一系列完成標籤功能的Java語句。

相關文章

聯繫我們

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