JSP中的TagLib應(yīng)用(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可能對應(yīng)不同的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程序段的結(jié)果輸出。
或
false表示這個屬性的值不可以用jsp程序段的結(jié)果輸出。
隱含為false
-----------------------------------------------------------------------------------
以insert tag為例, 定義了一個名字叫insert的tag, 他的處理文件是com.sun.estore.taglib.InsertTag
屬性值的類型是JSP, 接下來是定義了三個屬性.在jsp頁面里引用。
現(xiàn)在你應(yīng)該能明白這個tld文件所表示的大概含義. 我們按照這種格式來寫自己的tld文件.
應(yīng)該沒有什么問題了. 如果還是不懂的話, 看看關(guān)于XML方面的書籍會有好處.
在jsp文件里使用tld文件,是使用指令
借用飛刀同志在jsp語法里面的講解。
自定義tag位置
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Taglib 指令
定義一個標簽庫以及其自定義標簽的前綴.
JSP 語法
例子
.
.
描述
指令聲明此JSP文件使用了自定義的標簽,同時引用標簽庫,
也指定了他們的標簽的前綴。
這里自定義的標簽含有標簽和元素之分。因為JSP文件能夠轉(zhuǎn)化為XML,
所以了解標簽和元素之間的聯(lián)系很重要。標簽只不過是一個在意義上被抬
高了點的標記,是JSP元素的一部分。JSP元素是JSP語法的一部分,和XML
一樣有開始標記和結(jié)束標記。元素也可以包含其它的文本,標記,元素。
比如,一個jsp:plugin元素有開始標記和結(jié)束標記,同樣
也可以有和元素.
你必須在使用自定義標簽之前使用指令,而且你可以在一個頁面中多次使用,但是前綴只能使用一次屬性
自定義tag位置
uri="URIToTagLibrary"
Uniform Resource Identifier (URI)根據(jù)標簽的前綴對自定義的標簽進行唯一的命名,URI可以是以下的內(nèi)容:
? 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程序段的運行結(jié)果和一些html標簽組合,
將一個完整的html結(jié)果 返回到browser端.
這里有意思的是根據(jù)參數(shù)的不同,這個文件可以返回不同的內(nèi)容。這就是通常所說的模板文件.
可惜本文不談這些,只是介紹 在jsp文件中使用tag. 有興趣的可以自己研究
|