可以使用jsp自定義標籤來實現簡單的**模板.
自定義標籤可以通過傳統的繼承tagsupport或******tagsupport並實現相關方法,然後宣告使用tag描述符進行宣告.
這裡要說的是一種更加簡單的方式,tagfiles.
tag file其實就是乙個jsp頁面,只是把副檔名由.jsp變成了.tag,並放置在指定的目錄下.
tagfile中不能使用page指令,作為替代可以使用tag指令,在tag指令中宣告pageencoding來指定檔案編碼,這尤為重要.
attribute指令用來指定呼叫tag可以使用的引數.
例如這裡的model就是在tagfile中通過attribute指令進行指定的.
具體的attribute指令如下
<%@attribute name="pageinfo" type="com.rmc.web.utils.pages" rtexprvalue="true" required="true" %>
這裡宣告了乙個pageinfo屬性,並指定了引數的具體型別.rtexprivalue="ture"表明該屬性接受el表示式,false表示不接受. required="true"表示該屬性為必須的,預設值是false.乙個簡單的tagfile如下
<%@tag body-content="empty" pageencoding="gbk" %>
<%@attribute name="pageinfo" type="com.rmc.web.utils.pages" rtexprvalue="true" required="true" %>共$條 首頁
末頁 $/$頁
轉到:第 頁
每頁 條
tag指令中有乙個body-content引數,取值有三個scriptless(不接受jsp指令碼,接受普通文字和el.這也是預設值),empty(不接受標籤體),tagdependent(將標籤體視為普通文字).可見表標籤體是絕對不接受jsp指令碼的,當然使用標籤的目的就是為了不直接在jsp中使用指令碼.當該引數取值不為empty時,在tagfile中可以使用引用標籤體的內容.
tagfile編寫好之後,需要放置在應用的web-inf/tags/目錄或其子目錄下.如果你的tagfile要作為乙個庫發布,需要將tagfile放置在jar的meta-inf/tags/目錄或其子目錄下,同時還要編寫tag描述符(.tld)檔案放置在meta-inf/tlds目錄下.有關.tld的編寫也比較簡單只是把tagfile中的各種指令使用xml檔案重新宣告一次.具體寫法就不討論了,可以參考其他文件.
有了tagfile後,在jsp中引用時想引用jstl一樣,要首先使用taglib指令進行宣告.例如
<%@ taglib prefix="v" tagdir="/web-inf/tags" %>這裡與引用jstl不同的是將taguri換成了tagdir,其值就是放置tagfile的目錄.
JSP自定義標籤
1.jsp自定義標籤組成部分 web.xml載入標籤庫,標籤庫描述檔案 tld 標籤處理程式類。2.在自定義標籤的起始和結束標籤之間的部分為標籤體 body 3.分別介紹一下jsp自定義標籤的三個組成部分,以輸出經典的 helloworld為例。修改web.xml載入標籤庫 描述標籤庫檔案 tld ...
JSP自定義標籤
1 開發自定義標籤庫 繼承父類 tagsupport重寫dotag 方法 2 建立tld檔案 1.0mytaglib web inf tlds diego.tld hellotag hellotag empty 3 使用標籤庫 taglib uri web inf tlds diego.tld pr...
JSP自定義標籤
測試環境 tomcat5.5 新增的jar包 jstl.jar standard.jar 自定義jsp標籤的處理過程 來自網上 1 在jsp中引入標籤庫 taglib prefix taglibprefix uri tagliburi 2 在jsp中使用標籤庫標籤 3 web容器根據第二個步驟中的p...