廣告聯播

2009年4月1日 星期三

[JAVA] Tag 自訂標籤簡介

From: Polin Wei

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

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

使用自定標籤 Tag 的方法

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

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 的程式運作的流程如下圖

沒有留言:

張貼留言