自定義標籤庫(Tag library)
阿新 • • 發佈:2018-12-27
簡介
- JSP標籤庫技術可以讓我們定製自己的標籤。
- 我們前邊講解了JSP動作標籤,動作標籤本質上就是一段Java程式碼,在JSP頁面被轉換為Servlet期間,JSP引擎解析到JSP檔案就會將動作標籤轉換為我們預先定義好的Java程式碼。
- 同樣,自定義標籤實際上一個實現了特定介面的Java類,封裝了一些常用功能。在執行時,標籤將被響應的Java程式碼所代替。多個標籤就構成了標籤庫。
- 簡單來說,標籤庫就是讓我們以標籤的形式在JSP中呼叫Java程式。
- 完成一個自定義標籤,需要兩個步驟:
- 1.編寫標籤處理器類(Tag Handle Class)
- 2.編寫標籤庫描述檔案(Tag Library Descriptor)
相關介面
- 在自定義標籤的API中,最大的介面為JspTag介面,該介面是所有標籤中最大的一個介面,所有的標籤類都是該介面的後代。
- 由上圖可以看出,自定義標籤的API一共有兩個分支:
- 第一個分支是Tag,該介面比較古老,一般我們不會通過該分支實現自定義標籤。
- 第二個分支是SimpleTag,該介面實現自定義標籤比較簡單,一般我們都是通過實現該介面來完成自定義標籤的處理器類。
通過SimpleTag介面實現
1.編寫標籤處理器類(Tag Handle Class)
- 上文我們說到,標籤庫就是讓我們以標籤的形式在JSP頁面中呼叫Java程式,既然是Java程式那我們就先來編寫一個標籤處理器類。
- 首先我們需要編寫一個類來實現SimpleTag介面,實現之前先來看一下這個介面。
-
- SimpleTag介面中共有5個抽象方法
- doTag() 標籤執行時被呼叫的方法,我們主要編寫的方法。
- setParent(JspTag) 設定父標籤的方法
- getParent() 獲取父標籤的方法
- setJspContext(JspContext) 設定pageContext的方法
- setJspBody(JspFragment) 設定標籤體的方法
- SimpleTag介面中共有5個抽象方法
- 實現SimpleTag
本教程由尚矽谷教育大資料研究院出品,如需轉載請註明來源。