JSP標(biāo)簽庫介紹 (3)轉(zhuǎn)
發(fā)表時間:2023-07-31 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]定制標(biāo)簽內(nèi)幕一個簡單的定制標(biāo)簽包括了以下幾個要素:JavaBean:為了充分利用Java的面向?qū)ο筇匦裕赜么a應(yīng)當(dāng)放置在獨立的代碼容器內(nèi)。這些JavaBean可不是標(biāo)簽庫的一部分。他們是標(biāo)簽庫用來...
定制標(biāo)簽內(nèi)幕
一個簡單的定制標(biāo)簽包括了以下幾個要素:
JavaBean:為了充分利用Java的面向?qū)ο筇匦,重用代碼應(yīng)當(dāng)放置在獨立的代碼容器內(nèi)。這些JavaBean可不是標(biāo)簽庫的一部分。他們是標(biāo)簽庫用來執(zhí)行所分配任務(wù)的基礎(chǔ)代碼模塊。
標(biāo)簽處理器:這是標(biāo)簽庫的真正核心。標(biāo)簽處理器(tag handler)引用它所需要的任何外部材料(JavaBean)并且負(fù)責(zé)訪問JSP頁面的信息(PageContext對象)。而JSP頁面則把頁面上設(shè)置的標(biāo)簽屬性都傳遞給標(biāo)簽處理器,JSP頁面上的標(biāo)簽標(biāo)示的內(nèi)容也是這樣處理的。當(dāng)標(biāo)簽處理器完成其處理過程,它就會把處理后的輸出結(jié)果回送給JSP頁面做進(jìn)一步處理。
標(biāo)簽庫描述符(TLD文件):這是一種很簡單的XML文件,TLD文件描述和說明了屬性、信息和標(biāo)簽處理器文件位置等信息。JSP 容器使用這一文件來映射被調(diào)用標(biāo)簽庫的位置和用法。
Web站點的web.xml文件:其實這就是你的Web站點上的初始化文件。在這個文件內(nèi)你可以定義Web應(yīng)用程序中使用的定制標(biāo)簽,還可以定義用來描述每個定制標(biāo)簽的TLD文件。
發(fā)布文件(WAR或JAR文件):如果你打算重用定制標(biāo)簽,那么你肯定需要想個簡便的辦法把標(biāo)簽從一個項目遷移到其他項目中去。把標(biāo)簽庫打包成一個JAR文件就是這種既方便又高效的標(biāo)簽庫發(fā)布方式。我們在以上的事例中沒有建立JAR文件,但是如果你打算更進(jìn)一步地了解JAR文件的細(xì)節(jié),你不妨閱讀“JSP WAR文件簡介”。
JSP頁面上的標(biāo)簽庫聲明:僅需使用標(biāo)簽庫標(biāo)示符即可方便地聲明頁面上存在的標(biāo)簽。標(biāo)簽庫在頁面上聲明之后,你就可以隨意使用它們了。
看起來會讓你忙乎一陣子,實際上沒那么糟糕。剛開始用的時候當(dāng)然會有點棘手。其實真正關(guān)鍵的并不是編碼而是把以上各個部分正確地組織起來。這種層次性的結(jié)構(gòu)是很重要的,也正是如此才可以說標(biāo)簽庫及靈活又易于使用。更重要的事,這些層次可以讓整個建立標(biāo)簽庫的過程都能通過JSP IDE自動完成。今后的JSP IDE更可以自動完成創(chuàng)建定制標(biāo)簽的大部分工作,而你自己則只需要負(fù)責(zé)建立代碼和標(biāo)簽處理器。
(注意:一個標(biāo)簽處理器只定義一個定制標(biāo)簽;而一個標(biāo)簽庫則是很多個標(biāo)簽處理器的集合,它們執(zhí)行同一任務(wù)。)