自定義標簽的概念
壹般我們說自定義標簽是指JSP自定義標簽。自定義標簽在功能上邏輯上與javaBean 類似,都封裝Java 程式碼。 JSP開發人員使用標簽庫建立標簽.標簽庫是按照功能或實現進行分組的自定義標簽的 *** 。
網路上常見的CMS內容管理系統都是采用模板的形式來實現,基本上所有的CMS系統都有壹套自己的模板標簽書寫方法,簡稱自定義標簽。
1.標簽Tag:
標簽是壹種XML元素,通過標簽可以使JSP網頁變得簡潔並且易於維護,還可以方便地實現同壹個JSP檔案支援多種語言版本。由於標簽是XML元素,所以它的名稱和屬性都是大小寫敏感的
2.標簽庫Tag library:
由壹系列功能相似、邏輯上互相聯絡的標簽構成的 *** 稱為標簽庫。
3.標簽庫描述檔案Tag Library Descriptor:
標簽庫描述檔案是壹個XML檔案,這個檔案提供了標簽庫中類和JSP中對標簽引用的對映關系。它是壹個配置檔案,和web.xml是類似的。
4.標簽處理類Tag Handle Class:
標簽處理類是壹個Java類,這個類繼承了TagSupport或者擴充套件了SimpleTag介面,通過這個類可以實現自定義JSP標簽的具體功能
自定義標簽的分類
自定義JSP標簽
1. <% @ taglib prefix=”someprefix” uri=”/sometaglib” %>
為了使到JSP容器能夠使用標簽庫中的自定義行為,必須滿足以下兩個條件:
1從壹個指定的標簽庫中識別出代表這種自定義行為的標簽
2找到實現這些自定義行為的具體類
第壹個必需條件-找出壹個自定義行為屬於那個標簽庫-是由標簽指令的字首Taglib Directive's Prefix屬性完成,所以在同壹個頁面中使用相同字首的元素都屬於這個標簽庫。每個標簽庫都定義了壹個預設的字首,用在標簽庫的文件中或者頁面中插入自定義標簽。所以,妳可以使用除了諸如jsp,jspx,java,servlet,sun,sunw它們都是在JSP白皮書中指定的保留字之類的字首。
uri屬性滿足了以上的第二個要求。為每個自定義行為找到對應的類。這個uri包含了壹個字串,容器用它來定位TLD檔案。在TLD檔案中可以找到標簽庫中所有標簽處理類的名稱
2. 當web應用程式啟動時,容器從WEB-INF資料夾的目錄結構的META-INF搜尋所有以.tld結尾的檔案。也就是說它們會定位所有的TLD檔案。對於每個TLD檔案,容器會先獲取標簽庫的URI,然後為每個TLD檔案和對應的URI建立對映關系。
在JSP頁面中,我們僅需通過使用帶有URI屬性值的標簽庫指令來和具體的標簽庫匹配。
CMS自定義標簽
CMS的自定義標簽格式大同小異,以動易CMS為例,標簽寫法如下:
{$Skin_CSS}
{$MenuJS}
{$ShowLogo180,60} 自定義標簽的分類