JavaEE自訂標籤:標籤類的建立、tld設定檔的建立(位置、如何建立)、Web-XML配置、JSP應用

來源:互聯網
上載者:User

標籤:

1、標籤以 類似於html標籤的方式 實現的java代碼的封裝。第一:形成了開發標籤的技術標準--- 自訂標籤的技術標準。第二:java標準標籤庫(sun之前自己開發的一系列的標籤的集合) jstl,以及運算式語言 EL。 2、 自訂標籤(1)理解:可以允許使用者自己根據自己的需要,去 開發自己的標籤的技術規範。通俗:在 Jsp頁面上,以簡單的標籤封裝java代碼的操作。//在自訂標籤類中,先調用 setPageContext()執行個體化內建對象:
//然後是 doStartTag()方法,核心代碼放在這個方法裡面:

 //定義變數,變數的Get、Set方法:  private String UserName = "";
//tld設定檔放置在WEB-INF目錄下,主要的標記如下,主要的配置如下://前面tlib-version版本號碼、Jsp-version JSP的版本號碼、 short-name 命名空間、是必須有的 //uri,注意是uri而不是url,url是訪問的路徑。 //而uri為訪問時候的別名,寫在JSP頁面上的標籤的別名。//name為此標籤類的別名,tag-class 為標籤類的存放的實體路徑 //body-content 為是否有標籤體,如果是/子關閉標籤設定為EMPTY//如果涉及到標籤屬性,可以設定attribute,其中name為屬性的名稱,而不是別名,required 屬性是否必須設定, rtexprvalue 是否程式運行時候為屬性賦值。

//如果在tld檔案中不設定uri,則在web-xml中必須對talib-uri進行設定。

//在JSP頁面中,用taglib指令匯入自訂標籤。

//JSP頁面上的使用,前面my為tld檔案中為標籤類定義的命名空間、hello為tld檔案中指定標籤類的別名:

(2)技術組成A: 標籤處理類:實現所有資訊顯示功能的 Java類B: 標籤設定檔(標籤描述檔案、庫檔案):是一個 遵守xml規範的tld檔案(副檔名為TLD)C: 配置web.xml:告訴web應用,需要引用其他的標籤資訊D: jsp頁面上,調用標籤 3、標籤的特點(1)分類A: 成對出現的標籤B: 自關閉的標籤(2)特點A:標籤必須正確的關閉B:標籤不能出現重名C:標籤可以有 標籤體也可以沒有D:標籤可以有 屬性,但是一個標籤不能出現同名屬性 最簡單的標籤: 沒有標籤體也沒有屬性的標籤 4、自訂標籤的開發流程( 上面的插圖)A: 明確要實現的功能:要在頁面顯示具體什麼內容B: 開發標籤處理類C: 建立以及配置標籤描述檔案:TLD檔案D:配置 web.xmlE:jsp頁面調用標籤 5、開發標籤處理類(1)父類 一個介面兩個類介面: Tag介面 javax.servlet.jsp.tagext.Tag類: 自關閉:TagSupport  成對出現:BodyTagSupport(2)開發標籤類 整合自指定的類,重寫 setPageContext(),doStartTag(),doEndTag()。重點:標籤開始操作doStartTag()方法★ 6、建立標籤設定檔(TLD檔案)(1)作用是用來統一 管理多個標籤處理類的xml檔案。(2)建立具有自己的格式和規範的(和XML檔案一樣)推薦 WEN-INF目錄下,建立自己的tld檔案。(3) 檔案格式A: 根項目:taglibB:taglib的四個起始子項目 <tlib-version>標籤庫的技術標準的版本1.0</tlib-version> <jsp-version>支援的 jsp的技術標準版本1.2 </jsp-version> <short-name>標籤庫檔案的 命名空間:縮寫 </short-name> <uri>當前標籤庫檔案的唯一標記的符號(別名)</uri>   命名空間用來區分當前標籤是屬於哪個標籤庫的名稱簡寫。<jsp:useBean> 說明:uri子項目是可有可無的,但是會對後期的調用產生影響。 C:tag子項目每個標籤處理類都必須在tld檔案中進行配置。每個標籤類都對應一個tag元素,描述自己的配置資訊。 <tag>      <name>標籤處理類的 別名 </name>      <tag-class>標籤類的 物理地址</tag-class>      <body-content>是否有標籤體 </body-content> </tag>  body-content:值預設的是jsp。如果是自關閉標籤,需要制定成empty。 如果標籤有屬性,還有attribute子項目。 7、配置 web.xml(1)作用在web.xml中進列標籤設定檔的設定,告訴web應用程式,需要調用的 自訂標籤在哪裡。(2)前提在標籤設定檔中,如果沒有進行<uri>的配置,則 必須進行web.xml的配置。如果已經配置了uri元素的值,就 不需要進行web.xml的配置,可以直接在jsp上調用。 uri表現在JSP頁面引入標籤時候,需為taglib指令指定uri,注意和TLD檔案中的標籤類的別名name區分,那個是在JSP頁面中調用標籤時候命名空間後面寫入。(3)配置(如在WEB.XML中的配置)所有的標籤設定檔的配置,都必須在 <jsp-config>元素中。每個設定檔有自己 <taglib>元素。 <taglib> <taglib-location>標籤設定檔的 物理地址</taglib-location> <taglib-uri>標籤設定檔的調用 別名 </taglib-uri> </taglib> 8、 jsp調用標籤(1)引入標籤庫利用 taglib指令實現引入 <%@ taglib uri="標籤庫的別名" prefix="標籤庫的首碼(命名空間)"%>uri: 如果tld檔案中已經配置了uri, 必須與tld的uri一致 。如果tld中沒有配置,必須與web.xml中的taglib-uri一致。 prefix:首碼,如果在tld檔案中設定了 short-name,則必須與short-name保持一致。 (2)調用標籤 <首碼:標籤類的別名> (3)標籤處理類的 生命週期 A:載入根據標籤類的別名, 定位標籤處理類,載入到容器上 B:執行個體化根據預設 無參建構函式,進行執行個體化 C:設定上下文設定頁面上下文, 獲得內建對象 D:設定父標籤 E:執列標籤開始的操作 F:執列標籤結束的操作 G:資源釋放 9、jsp和標籤處理類的資訊互動方式兩種: A:藉助session屬性,由jsp向標籤處理類傳遞值B:藉助於 標籤的屬性,實現傳值。 10、屬性(1)理解 用來附加說明標籤基本資料的名稱與值的集合。(2)分類必須有的屬性可有可無的屬性(3)特點A:是名稱與值的集合B:如果有屬性,屬性必有值C: 屬性的值必須用引括起來D:一個標籤不允許有同名屬性(4)設定A:在標籤處理類中,建立代表屬性的變數以及對應的set/get方法(見)。在標籤處理類中,屬性是以變數的方式存在的。B:在標籤開始動作中,直接使用變數C:在標籤設定檔上,在相應的 tag中,添加屬性配置。每個屬性都有自己的<attribute>標籤 <attribute>   <name>屬性的名稱(與類中變數同名)</name>   <required>屬性是否是必須的(true/false)</required>   <rtexprvalue>屬性的值是否通過運行時加以賦值(程式動態賦值)</rtexprvalue> </attribute>D:jsp頁面上的標籤中,使用屬性注意: 屬性名稱必須與類中的變數同名。   練習demo:http://download.csdn.net/detail/a757956132/8923365

JavaEE自訂標籤:標籤類的建立、tld設定檔的建立(位置、如何建立)、Web-XML配置、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.