tld是taglib description 的縮寫
標籤庫描述檔案,如要在JSP頁面中實現JSP標籤,必須首先定義實現標籤的類,然後在標籤庫描述檔案(TLD)中將寫好的類映射成jsp標籤,最後在JSP檔案中使用定義好的標籤,就可以生成動態的JSP內容
定製標籤拼圖中的最後一塊是TLD(標籤庫描述符)檔案。創建的每個標籤都必須在一個TLD檔案中聲明,而且這一檔案還必須連同標籤的Java處理器類一起被部署。在servlet中,servlet容器知道在何處放置了TLD檔案,因為已經在web.xml標準servlet配置檔案中聲明了路徑。
可以看到,TLD檔案只不過是一個XML檔案。根標 簽是<taglib>,它包含一個或者多個<tag>標籤,該元素用來聲明定製標籤。表4-1、表4-2和表4-3解釋了TLD 中的每個標籤。注意每個<taglib>都必須包含一個或者多個<tag>聲明。
表 4-1 TLD檔案中的標籤
標 簽 | 含 義 |
taglib | TLD檔案的根標籤 |
tlibversion | 此標籤庫的版本 |
jspversion | 此標籤庫依賴的JSP版本。這裡使用1.1 |
shortname | 當在JSP中使用標籤時,此標籤庫首選或者建議的前綴。當然可以完全忽略這個建議 |
tag | 包含針對此標籤庫中的一個標籤的元數據 |
表4-2 <tag>的子標籤
標 簽 | 含 義 |
name | 標籤名稱 |
tagclass | Java標籤處理器類的名稱。注意這是處理器類的全限定名稱,比如net.thinksquared.tags. MessageWriteTagHandler |
bodycontent | 此標籤的主體部分的內容。使用JSP、empty、scriptless和tagdependent四種類型 |
attribute | 包含了此標籤的一個屬性的元數據 |
表4-3 <attribute>的子標籤
標 簽 | 含 義 |
name | 屬性的名稱。很明顯它在該標籤中必須是唯一的 |
required | 指示該標籤是必需的(true)或者可選的(false) |
rtexprvalue | 運行時表達式的值,設為true可接收EL表達式、java腳本段等方式傳值;設為false則只能以字元串形式傳值。 |