tld自定義標籤

2021-10-10 03:28:47 字數 2295 閱讀 7529

​ tld(taglib description)是自定義標籤,自定義標籤一般用於jsp頁面。使用tld可以在jsp頁面中使用自己定義的標籤。這樣你就可以在jsp頁面用,除了使用jsp標準標籤庫(jstl)外,還可以使用自己自定義的標籤庫。看看別是怎麼說的:

自定義標籤是使用者定義的jsp語言元素。當jsp頁面包含乙個自定義標籤時將被轉化為servlet,標籤轉化為對被 稱為tag handler的物件的操作,即當servlet執行時web container呼叫那些操作。

jsp標籤擴充套件可以讓你建立新的標籤並且可以直接插入到乙個jsp頁面。 jsp 2.0規範中引入****** tag handlers來編寫這些自定義標記。

你可以繼承******tagsupport類並重寫的dotag()方法來開發乙個最簡單的自定義標籤。

來自:菜鳥程式設計(

標籤有一下結構:標籤體,標籤名,標籤屬性

mytag body

編寫自定義標籤分三步走:

3.1編寫標籤處理類

要自定義標籤就需要,編寫標籤的處理類,處理類決定了標籤的功能。自定義標籤先繼承******tagsupport類,並重寫其中的dotag()方法。dotag()方法用於編寫標籤的執行體,其方法的定義來自於 inte***ce ******tag。

******tagsupport主要有以下方法:

我們只需要重點關注dotag(),getjspbody(),和getjspcontext() 方法。

例子一:只針對標籤的功能

public

class

hellotag

extends

******tagsupport

}

例子二:將標籤體列印到jsp頁面中(這裡用到了標籤體)

注釋:invoke方法可以控制是否執行和輸出標籤體的內容、是否迭代執行標籤體的內容或對標籤體的執行結果進行修改後再輸出。可以使用invoke方法多次執行和輸出標籤體的內容。

public

class

hellotag

extends

******tagsupport

}

例子三:從屬性和標籤體中獲取資訊

public

class

hellotag

extends

******tagsupport

stringwriter sw =

newstringwriter()

;public

void

dotag()

throws jspexception, ioexception

else

}}

3.2 編寫標籤描述符

編寫好標籤處理類我們就可以開始製作標籤啦,先在web-inf/目錄下建立mytag.tld檔案。

<?xml version="1.0" encoding="utf-8" ?>

>

>

1.0tlib-version

>

>

2.0jsp-version

>

>

example tldshort-name

>

>

>

helloname

>

>

com.runoob.hellotagtag-class

>

>

emptybody-content

>

tag>

taglib

>

3.3匯入並使用自定義標籤

最後一部就是匯入標籤庫了,這個十分簡單只需要使用 <%@ taglib prefix=「ex」 uri=「web-inf/custom.tld」%> 匯入即可。

<%@ taglib prefix="ex" uri="web-inf/mytag.tld"%>

>

>

>

a sample tagtitle

>

head

>

>

<

ex:hello

/>

body

>

html

>

tld自定義標籤

tld自定義標籤系列 使用body content的作用 body content的值有下面4種 tagdependent 標籤體內容直接被寫入bodycontent,由自定義標籤類來進行處理,而不被jsp容器解釋,如下 select name,age from users jsp 接受所有jsp語...

TLD檔案配置詳解 自定義標籤

write org.apache.struts.taglib.bean.writetag empty bundle false true 其中 write 這個tag的名字 org.apache.struts.taglib.bean.writetag 這個tag是由那個類實現的 這個class可以在...

自定義標籤

由於字典的緣故,當前表中資料存的是字典表的code,所以在頁面顯示的時候需要再次進行轉換。於是我就想到了用標籤來解決這個問題。1.建立自己的標籤 public class displaytag extends tagsupport override public int doendtag throw...