開發JSP自訂行為

來源:互聯網
上載者:User
1. 要開發一個自訂行為,需要使用一系列的類和介面,這些類和介面在JSP1.1規範中被稱為標記延伸機制(tag extension mechanism)。實現標記處理常式所需要的所有介面和類都是在javax.servlet.jsp.tagext包中定義的。兩個主要的介面分別是Tag和BodyTag。為了使開發標記處理常式更加容易,API定義了兩個起支援作用的類:TagSupport和BodyTagSupport。這兩個類分別為上面的兩個介面提供了預設的實現。
2. 標記庫是一個自訂行為的集合。在標記庫中除了標記處理常式的類檔案以外,標記庫裡還必須包括一個tld檔案。這是一個XML檔案,它把所有的自訂行為的名稱映射到相應的標記處理常式類,而且對每一個自訂行為所支援的所有屬性進行了描述。類檔案和tld可以被打包到一個JAR檔案中以方便安裝。
3. 開發,配置和使用一個簡單的自訂行為通常需要做這幾部分工作。
(1) 實現一個標記處理常式類。對這個類進行編譯,然後把產生的類檔案放到應用程式的WEB-INF/classes目錄下。
(2) 建立TLD檔案。看下面這個簡單的執行個體。
<?xml version=”1.0” encoding=”ISO-8859-1” ?>
<!DOCTYPE taglib
PUBLIC “-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN”
http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd>
<taglib>
<tlibversion>1.0</tlibversion>
<jspversion>1.1</jspversion>
<shortname>test</shortname>
<tag>
<name>hello</name>
<tagclass>com.mycompany.HelloTag</tagclass>
<bodycontent>empty</bodycontent>
<attribute>
<name>name</name>
</attribute>
</tag>
</taglib>
把這個檔案取名為*.tld,並把它放在應用程式的WEB-INF/tlds目錄下。
(3) 現在你可以這樣在JSP頁面中使用自訂行為。
<%@ taglib uri=”/WEB-INF/tlds/mylib.tld” prefix=”test” %>
<html>
<body bgcolor=”white”>
<test:hello name=”maojb”/>
</body>
</html>
當這個頁面被請求時,JSP容器就使用這個TLD來發現與自訂行為相對應的類。然後它將調用所有相應的方法,將相應的文本加入到應答中去。以上就是在最簡單的情況下我們要做的所有事情。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.