天天看點

利用JSP 2.0開發Web應用程式(4)

  

标簽檔案

  使用簡單标簽擴充機制的另一種方法是通過标簽檔案。标簽檔案是一種資源檔案,網頁作者可以利用它抽取一段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所示的視窗。

利用JSP 2.0開發Web應用程式(4)
圖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開發Web應用程式(4)
圖6:把标簽檔案用作模闆

  

結論

  JSP 2.0使得快速開發和維護動态網頁比以前更加容易,盡管“Java”一詞出現在JSP中,但使用JSP2.0,網頁作者無須學習Java程式語言本身,就能開發出全新的動态網頁。本文中的例子說明了使用JSP2.0的新特性開發動态網頁是多麼容易。 共4頁。