JSP中的TagLib應用(3)--zt
來源:互聯網
上載者:User
js JSP中的TagLib應用(3)
自訂tag位置
WEB-INF/tlds/xxxx.tld
注意:需要在tld檔案裡定義:
tlibversion--------Tag library的版本
jspversion--------這個Tag library要求的JSP版本。
shortname-------預設的名字。(這個例子裡沒有定義)
uri-------------------這個Tag library的URL
info-----------------Tag library的使用資訊
tag-----------------自訂的tag
name--------------- 自訂的tag的名字
tagclass----------- 處理這個tag的java類的名字.不同的tag可能對應不同的java類來處理。
Teiclass----------
bodycontent----- 標出屬性值的類型,如果沒有標識,隱含為JSP
JSP -------------------interpreted by page
EMPTY ------ -----------no body allowed
TAGDEPENDENT-----interpreted by tag
需要BodyTag
BodyTag can post-process JSP
info------------------ 這個tag的使用資訊
attribute----------- 屬性。 每個tag可以有n個屬性
在這個例子裡,定義了四個tag。
自訂tag位置
詳細說明一下attribute.
指出了tag所包含的屬性名稱字
true 表示這個屬性是必須的
或
false 表示這個屬性不是必須的
隱含為false
true表示這個屬性的值可以用jsp程式段的結果輸出。
或
false表示這個屬性的值不可以用jsp程式段的結果輸出。
隱含為false
-----------------------------------------------------------------------------------
以insert tag為例, 定義了一個名字叫insert的tag, 他的處理檔案是com.sun.estore.taglib.InsertTag
屬性值的類型是JSP, 接下來是定義了三個屬性.在jsp頁面裡引用。
現在你應該能明白這個tld檔案所表示的大概含義. 我們按照這種格式來寫自己的tld檔案.
應該沒有什麼問題了. 如果還是不懂的話, 看看關於XML方面的書籍會有好處.
在jsp檔案裡使用tld檔案,是使用指令
借用飛刀同志在jsp文法裡面的講解。
自訂tag位置
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Taglib 指令
定義一個標籤庫以及其自訂標籤的首碼.
JSP 文法
例子
.
.
描述
指令聲明此JSP檔案使用了自訂的標籤,同時引用標籤庫,
也指定了他們的標籤的首碼。
這裡自訂的標籤含有標籤和元素之分。因為JSP檔案能夠轉化為XML,
所以瞭解標籤和元素之間的聯絡很重要。標籤只不過是一個在意義上被抬
高了點的標記,是JSP元素的一部分。JSP元素是JSP文法的一部分,和XML
一樣有開始標記和結束標記。元素也可以包含其它的文本,標記,元素。
比如,一個jsp:plugin元素有開始標記和結束標記,同樣
也可以有和元素.
你必須在使用自訂標籤之前使用指令,而且你可以在一個頁面中多次使用,但是首碼只能使用一次屬性
自訂tag位置
uri="URIToTagLibrary"
Uniform Resource Identifier (URI)根據標籤的首碼對自訂的標籤進行唯一的命名,URI可以是以下的內容:
? Uniform Resource Locator (URL), 由 RFC 2396 定義,
查看 http://www.hut.fi/u/jkorpela/rfc/2396/full.html
Uniform Resource Name (URN), 由 RFC 2396定義
? 一個相對或絕對的路徑
prefix="tagPrefix"
在自訂標籤之前的首碼,比如,在中的public,如果這裡不寫public,
那麼這就是不合法的。請不要用jsp, jspx, java, javax, servlet, sun, 和sunw做為你的首碼
=======================template.jsp====================
要使用此例子,請到aspcn.com
===============================================
這裡定義了一個jsp檔案。 這個檔案是由前面例子定義的tag組成的.
jsp引擎通過對tag的處理,jsp程式段的運行結果和一些html標籤組合,
將一個完整的html結果 返回到browser端.
這裡有意思的是根據參數的不同,這個檔案可以返回不同的內容。這就是通常所說的模板檔案.
可惜本文不談這些,只是介紹 在jsp檔案中使用tag. 有興趣的可以自己研究