标簽檔案
使用簡單标簽擴充機制的另一種方法是通過标簽檔案。标簽檔案是一種資源檔案,網頁作者可以利用它抽取一段JSP代碼,通過定制功能來實作代碼的複用。換句話說,标簽檔案允許JSP網頁作者使用JSP文法建立可複用的标簽庫。标簽檔案的擴充名必須是“.tag”。
為說明使用标簽檔案是多麼容易,考慮一下代碼示例9。沒錯,這就是一個标簽檔案!
代碼示例9: greetings.tag
Hello there. How are you doing? |
一旦定義了标簽檔案,就可以在JSP網頁的編寫中使用這種定制的功能。比如代碼示例10中的JSP網頁。
代碼示例10: chat.jsp
<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %> <HTML> <HEAD> <TITLE>JSP 2.0 Examples - Hello World Using a Tag File</TITLE> </HEAD> <BODY> <H2>Tag File Example</H2> <P> <B>The output of my first tag file is</B>: <tags:greetings/> </BODY> </HTML> |
要運作這個例子:
複制标簽檔案greetings.tags并儲存在c:/Tomcat5.0/webapps/jsp-examples/WEB-INF/tags 目錄下;複制JSP網頁檔案char.jsp并儲存在c:/Tomcat5.0/webapps/jsp-examples/jsp2-tutorial 目錄下;用浏覽器打開chat.jsp檔案。
如果一切正常,應該會看到類似如圖5所示的視窗。
![]() |
--------------------------------------------------------------------------------
注意: 重要的是要注意到這裡沒有為問候标簽編寫TLD,而是建立了一個标簽檔案并放在特殊的目錄中,然後用taglib指令導入并直接使用它。
--------------------------------------------------------------------------------
另一個标簽檔案的例子
标簽檔案可以作為模闆使用。考慮代碼示例11中的标簽檔案display.tag,這個例子是根據Tomcat 5.0中的面闆的例子改寫的。指令attribute類似于TLD中的<attribute>元素,允許聲明自定義的動作屬性。
代碼示例11: display.tag
<%@ attribute name="color" %><%@ attribute name="bgcolor" %><%@ attribute name="title" %> <TABLE bgcolor="${color}"> <TR> <TD><B>${title}</B> </TD> </TR> <TR> <TD> bgcolor="${ bgcolor}"> <jsp:doBody/> </TD> </TR> </TABLE> |
代碼示例12給出了使用上述标簽的一個簡單的JSP頁面。
代碼示例12: newsportal.jsp
<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %> <HTML> <HEAD> <TITLE>Another Tag File Example</TITLE> </HEAD> <BODY> <H2> News Portal: Another Tag File Example</H2> <TABLE > <TR valign="top"> <TD> <tags:display color="#ff0000" bgcolor="#ffc0c0" title="Travel"> Last French Concorde Arrives in NY <br/> Another Travel Headline <br/> Yet Another Travel Headline <br/> </tags:display> </TD> <TD> <tags:display color="#00fc00" bgcolor="#c0ffc0" title="Technology"> Java for in-flight entertainment <BR> Another Technology Headline <BR> Another Technology Headline <BR> </tags:display> </TD> <TD> <tags:display color="#ffcc11" bgcolor="#ffffcc" title="Sports"> American Football<BR/> NBA<BR/> Soccer<BR/> </tags:display> </TD> </TR> </TABLE> </BODY> </HTML> |
要運作這個例子:
複制檔案display.tag并儲存在c:/Tomcat5.0/webapps/jsp-examples/WEB-INF/tag 下;複制檔案newsportal.jsp并儲存到c:/Tomcat5.0/webapps/jsp-examples/jsp2-tutorial下;用浏覽器打開newsportal檔案。
結果應該會得到與圖6類似的畫面。
|
結論
JSP 2.0使得快速開發和維護動态網頁比以前更加容易,盡管“Java”一詞出現在JSP中,但使用JSP2.0,網頁作者無須學習Java程式語言本身,就能開發出全新的動态網頁。本文中的例子說明了使用JSP2.0的新特性開發動态網頁是多麼容易。 共4頁。