1. 程式人生 > >自定義標籤庫(Tag library)

自定義標籤庫(Tag library)

簡介

  • JSP標籤庫技術可以讓我們定製自己的標籤。
  • 我們前邊講解了JSP動作標籤,動作標籤本質上就是一段Java程式碼,在JSP頁面被轉換為Servlet期間,JSP引擎解析到JSP檔案就會將動作標籤轉換為我們預先定義好的Java程式碼。
  • 同樣,自定義標籤實際上一個實現了特定介面的Java類,封裝了一些常用功能。在執行時,標籤將被響應的Java程式碼所代替。多個標籤就構成了標籤庫。
  • 簡單來說,標籤庫就是讓我們以標籤的形式在JSP中呼叫Java程式。
  • 完成一個自定義標籤,需要兩個步驟:
    1. 1.編寫標籤處理器類(Tag Handle Class)
    2. 2.編寫標籤庫描述檔案(Tag Library Descriptor)

相關介面

  • 在自定義標籤的API中,最大的介面為JspTag介面,該介面是所有標籤中最大的一個介面,所有的標籤類都是該介面的後代。
  • 由上圖可以看出,自定義標籤的API一共有兩個分支:
    1. 第一個分支是Tag,該介面比較古老,一般我們不會通過該分支實現自定義標籤。
    2. 第二個分支是SimpleTag,該介面實現自定義標籤比較簡單,一般我們都是通過實現該介面來完成自定義標籤的處理器類。

通過SimpleTag介面實現

1.編寫標籤處理器類(Tag Handle Class)

  • 上文我們說到,標籤庫就是讓我們以標籤的形式在JSP頁面中呼叫Java程式,既然是Java程式那我們就先來編寫一個標籤處理器類。
  • 首先我們需要編寫一個類來實現SimpleTag介面,實現之前先來看一下這個介面。
    1. SimpleTag介面中共有5個抽象方法
      1. doTag() 標籤執行時被呼叫的方法,我們主要編寫的方法。
      2. setParent(JspTag) 設定父標籤的方法
      3. getParent() 獲取父標籤的方法
      4. setJspContext(JspContext) 設定pageContext的方法
      5. setJspBody(JspFragment) 設定標籤體的方法
  • 實現SimpleTag

 

 

本教程由尚矽谷教育大資料研究院出品,如需轉載請註明來源。