入門教程:JSP標準模板庫(上)

來源:互聯網
上載者:User
js|標準|教程|模板|入門教程 簡介
JSP標準模板庫(JSTL)是SUN公司發布的一個針對JSP開發的新組件。JSTL允許你使用標籤(tags)來進行JSP頁面開發,而不是使用多數JSP程式員已經習慣了的scriptlet代碼方式開發。JSTL幾乎能夠做到傳統JSP scriptlet代碼能做的任何事情。你可能會疑惑,為什麼我們需要另一種這樣的HTML產生語言呢?

STL允許JSP程式員使用tags而不是JAVA代碼來編程。為了展示為什麼這個是更優越的,下面將給出樣本。我們會檢查一個非常簡單的從1數到10的JSP頁面。我們將通過兩種方法來檢查,一種是基於JSP的scriptlet,一種是JSTL。當這個計數器頁面的例子是用JSP scriptlet來編寫時,JSP頁面如下所示:

<html>
<head>
<title>Count to 10 in JSP scriptlet</title>
</head>
<body>
<%
for(int i=1;i<=10;i++)
{%>
<%=i%><br/>
<%
}
%>
</body>
</html>

正如你在上例中看到的看到的那樣,使用scriptlet代碼產生的頁面原始碼會包含混合的HTML標籤和JAVA語句。這種混合型的編程方式不是最佳的方式,其主要原因有以下幾點。

主要的原因是它的可讀性。這個可讀性主要依賴於人類和電腦。JSTL可以允許程式員查看一個只包含完整HTML和類似HTML的標籤的頁面。

SP scriptlet代碼的可讀性不適合人類。這種混合的scriptlet和HTML代碼對於電腦來說也很難讀。尤其是針對那些HTML官方工具如Dreamweaver和Microsoft FrontPage,所表現出來的不直觀性更突出。目前,大多數HTML官方工具會以不可編輯塊(non-editable blocks)的形式來隔離JSP scriptlet代碼。這種HTML官方工具通常是不能直接修改JSP scriptlet代碼的。

下面這段代碼展示這個計數器範例如何使用JSTL方式來編寫。正如你所看到的,這個代碼清單有不變性,僅僅一個標籤被使用。HTML和JSTL標籤混合起來產生了這個程式。

<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<html>
<head>
<title>Count to 10 Example (using JSTL)</title>
</head>

<body>
<c:forEach var="i" begin="1" end="10" step="1">
<c:out value="${i}" />

<br />
</c:forEach>
</body>
</html>

當你檢查上面這個例子的代碼時,你會看到,JSP頁面只包含標籤。上面的代碼使用諸如<head>和<br>這樣的HTML標籤。這種標籤用法不限制於HTML標籤。這段代碼也可以使用諸如<c:forEach>和<c:out>這樣的JSTL標籤。在本文中,將會介紹一些JSTL的基礎。

安裝JSTL
要使用JSTL,你必須安裝有一個JSP1.2(或者更高版本)的容器。最普通的JSP容器是Apache Tomcat。你能夠從http://jakarta.apache.org/tomcat/這裡下載到。獨立的Tomcat允許你使用常規的JSP scriptlet代碼。要使用JSTL,你必須在Tomcat中安裝JSTL。JSTL的主要URL是 http://java.sun.com/products/jsp/jstl/。要使用JSTL,必須解壓這個檔案,然後將它安裝到Tomcat的正確位置。

要在Tomcat中安裝JSTL,有下面三個步驟:

拷貝JSTL JAR檔案到Tomcat的lib目錄中.

如果你使用的是Windows, 那麼lib目錄最可能的位置是C:Program FilesApache Tomcat 4.0webappsROOTWEB-INFlib。你應該拷貝這些JAR包到你的Tomcat JAR目錄。

拷貝JSTL TLD檔案到Tomcat的web-inf目錄中

你檢查JSTL發布檔案時,你應該會注意到有8個檔案是以TLD副檔名結尾的。所有這8個檔案都應該複製到你的web-inf目錄中。

修改web.xml檔案包含這些TLD檔案。

最後,你必須修改你的web.xml,添加8個標籤庫的表項(entry)。需要添加的表項如下所示:
<taglib>
<taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri>
<taglib-location>/WEB-INF/fmt.tld</taglib-location>
</taglib>

<taglib>
<taglib-uri>http://java.sun.com/jstl/fmt-rt</taglib-uri>
<taglib-location>/WEB-INF/fmt-rt.tld</taglib-location>
</taglib>

<taglib>
<taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
<taglib-location>/WEB-INF/c.tld</taglib-location>
</taglib>

<taglib>
<taglib-uri>http://java.sun.com/jstl/core-rt</taglib-uri>
<taglib-location>/WEB-INF/c-rt.tld</taglib-location>
</taglib>

<taglib>
<taglib-uri>http://java.sun.com/jstl/sql</taglib-uri>
<taglib-location>/WEB-INF/sql.tld</taglib-location>
</taglib>

<taglib>
<taglib-uri>http://java.sun.com/jstl/sql-rt</taglib-uri>
<taglib-location>/WEB-INF/sql-rt.tld</taglib-location>
</taglib>

<taglib>
<taglib-uri>http://java.sun.com/jstl/x</taglib-uri>
<taglib-location>/WEB-INF/x.tld</taglib-location>
</taglib>

<taglib>
<taglib-uri>http://java.sun.com/jstl/x-rt</taglib-uri>
<taglib-location>/WEB-INF/x-rt.tld</taglib-location>
</taglib>

完成上面這三步後,你現在可以準備測試你的JSTL安裝了。可以通過建立一個包含JSTL的JSP頁面來驗證。一個最簡單的範常式序就是上面的那個計數器程式。你應該將它放置在你的Webroot目錄中(C:Program FilesApache Tomcat 5.0webappsROOT)。一旦Tomcat啟動後,你應該能夠通過瀏覽 http://127.0.0.1:8080/count.jsp來查看這個頁面。

如果你沒有正確安裝JSTL,那麼可能不會出現錯誤資訊。如果JSTL不能解釋你的標籤含義,那麼它在Web瀏覽器上會直接跳過。然後Web瀏覽器將解釋這些未知的HTML標籤。多數瀏覽器僅僅只是忽略這些未知的HTML標籤。

To be continued......

Translated by Caiyi0903(Willpower),2004.2.19



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.