2020 年 6 月 3 日

IT Skills 波林

Polin WEI – 資訊工作者的技術手札

Java Taglib 自訂標籤簡介

1 min read
三盒屋壽司

Java Taglib 自訂標籤簡介

自定標籤 Java Tag 只能經由 JSP 網頁來使用,Tag 標籤處理常式和 JSP 網頁是彼此緊密結合的。因此,您得以存取 PageContext 物件, 就可以存取目前包含在 JSP 網頁中的相同資料。所以,Tag 標籤可以存取任何從 session 資料到 request 物件裡的變數。不過,從 PageContext 物件得到最重要的一件事是存取 JSP 網頁的 out 物件,我們需要此物件才能將內容寫回 JSP 網頁的輸出資料流。

 

  • 自定標籤 Tag 的優點:

使用預先建立的 Tag 標籤可以減少 Java 程式碼在前端開發所需要的時間, 進而加速網站開發, 重覆使用自訂標籤是縮短時間的最大幕後功臣.

 

  • 使用自定標籤 Tag 的方法

只要兩個簡單的步驟就能使用標籤程式庫

  1. Step1:匯入標籤程式庫
  2. Step2:從標籤程式庫中呼叫自訂標籤
  • Step1:匯入標籤程式庫

匯入標籤程式庫只需使用 taglib 指令, 如

<%@ taglib uri="/WEB-INF/struts-layout.tld" prefix="layout"%>

uri : 是識別標籤程式庫的唯一名稱, 用來指定標籤程式庫描述元(Tag Library Descriptor , TLD) 的位置. 標籤程式庫描述元(Tag Library Descriptor , TLD) 實際上是索引檔案, 告訴 JSP 容器 Context 每個標籤 Tag 處理常式所在位置與使用對象. 也就是說. TLD 是 JSP 應用程式裡定義標籤程式庫的地方.

  • Step2:從標籤程式庫中呼叫自訂標籤

在 Step1 中定義請求呼叫此標籤程式庫的方法 prefix=”layout” , 並從 layout 標籤程式庫中請求 html 自訂標籤的功能

<layout:html>

</layout:html>

 

  • 撰寫 Tag 程式(class) 繼承 TagSupport 與 BodyTagSupport的區別:

撰寫 Tag 的程式( class ), 若選擇繼承TagSupport的類別,那您所能決定的,就是要不要顯示標籤與之間的文字,但沒有辦法對這段文字作任何的處理,如果您要對本體文字作處理,可以繼承BodyTagSupport類別。 大體上, Tag 的程式運作的流程如下圖:

taglib running flow

Copyright © All rights reserved. | Newsphere by AF themes.