溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JSP編程新組件JSTL怎么用

發布時間:2021-11-22 09:49:02 來源:億速云 閱讀:181 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關JSP編程新組件JSTL怎么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

JSTL介紹中是允許JSP程序員使用標簽進行編程而不是Java代碼。為了說明為什么這個是可取的,給出一個快速簡單的小例子。我們就舉個非常簡單的例子從1數到10。我們用常規的基于scriptlet JSP網頁和JSTL兩種方式來制作這個網頁。當這個數到10的例子是使用scriptlet JSP編制的,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語句的混合。有很多原因說明為什么這種混合式編程風格不是***的。

混合scriptlet和基于標簽的代碼不是***選擇的主要原因是可讀性。這種可讀性是針對人和計算機的。JSTL允許編程者看一個由整個HTML和HTML-like標簽組成的程序。

JSP scriptlet代碼的可讀性不僅只適用于人類。Scriptlet和HTML代碼的混合也很難被計算機讀取。尤其是HTML制作工具例如某個Dreamweaver和Microsoft FrontPage。目前,大多數HTML制作工具將JSP scriptlet代碼作為不可編輯的塊區而分離開。HTML制作工具通常不直接修改JSP scriptlet 代碼。

以下代碼顯示如何使用JSTL編寫從1數到10的這個例子。正如你所看到的,這個代碼列表更連貫,因為只使用了標簽。是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網頁整個是由標簽組成的。上述代碼使用了HTML標簽如< head> 和< br>。標簽的使用不僅限于HTML標簽。這個代碼也使用了JSTL標簽例如< c:forEach> 和 < c:out>。在本文中向你介紹一些JSTL的基礎知識。

安裝JSTL

為了使用JSTL,你必須安裝JSP 1.2(或更高的版本)的容器。其中最常用的JSP容器是Apache Tomcat Web server。你可以從這里http://jakarta.apache.org/tomcat/獲取一個Tomcat的副本。單獨使用Tomcat可以讓你使用常規的JSP scriptlet代碼。為了使用JSTL, 你必須安裝JSTL到Tomcat。JSTL可以從和Tomcat一樣的來源獲得。JSTL主要的URL是http://java.sun.com/products/jsp/jstl/。為了使用JSTL,你必須解壓分配文件并把它們安裝到Tomacat中的正確位置。

為了同時使用Tomcat,正確安裝JSTL遵循以下三個步驟:

復制JSTL JAR文件到Tomcat的lib目錄。

如果你使用Windows,你的lib目錄的可能位置是C:\Program Files\Apache Tomcat 4.0\webapps\ROOT\WEB-INF\lib。JSTL發布時就有很多JAR文件包括其中。你需要復制每一個JAR文件到Tomcat JAR目錄中。

復制JSTL TLD文件到Tomcat的web-inf目錄web-inf目錄的位置是C:\Program Files\Apache Tomcat 4.0\webapps\ROOT\WEB-INF。如果你研究JSTL分配文件,你應該注意到8個擴展名是TLD的文件。這8個文件要復制到你的web-inf目錄中。

修改web.xml文件來包括TLD文件***,你必須修改你的web.xml文件,并為這8個你添加的標簽庫添加入徑。這個由在主< web-app>指令中添加< taglib>指令。

< 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網頁來完成。最簡單的例子就是以上所示的"count to ten"例子。你應該把你的JSP文件放到Webroot目錄中(C:\Program Files\Apache Tomcat 4.0\webapps\ROOT)。一旦Tomcat服務器啟動,你可以瀏覽http://127.0.0.1:8080/count.jsp來查看你的網頁。

如果你沒有正確安裝JSTL,可能也沒有錯誤信息提示。如果JSTL不能翻譯你的標簽,它們直接通過網頁瀏覽器。網頁瀏覽器將翻譯這些標簽作為未知的HTML標簽。大多數瀏覽器都會忽略未知的HTML標簽。

JSTL標簽庫

JSTL也常常作為一個單獨的標簽庫。實際上,JSTL有4個標簽庫。這些標簽庫總結如下:

Core Tag Library—包括的標簽是Web應用程序必不可少的。core tag庫的例子包括循環,算式評估和基本的輸入和輸出。

Formatting/Internationalization Tag Library—包括的標簽是用于解析代碼的。其中一些標簽是解析代碼的,例如日期,不同的基于當前的區域。

Database Tag Library—包括的標簽是用于訪問SQL數據庫的。這些標簽通常只用于創建雛形程序。這是因為大多數程序不會從JSP網頁上直接處理數據庫訪問。數據庫訪問應該置于EJBs中通過JSP網頁進行訪問。

XML Tag Library—包括的標簽是可以用于訪問XML元素。因為XML是用在很多的Web應用程序中,XML處理是JSTL一個重要的功能。

在本文中,我們只需要大概的看幾個核心標簽(core tags)。我們將舉一個簡單的例子來展示用戶進入一個表格時如何處理數據。在我們進行這個程序之前,我們首先要看一看JSTL handles expressions。在JSTL中的表達式處理是通過使用EL表達式語言來完成的,像在JSP2.0中一樣。在下一節中,我們將檢查EL表達式語言。

EL表達式語言

JSP2.0其中一個主要的組件式叫做EL的新的表達式語言。EL廣泛應用在JSTL中。但是,重點要記住的是EL是JSP的一個特征而不是JSTL的。與JSP2.0一起使用的JSP scriptlet代碼包括EL表達式。以下的示范代碼行是在JSP scriptlet代碼中使用了EL。

       < p> 
Your total, including shipping is ${total+shipping}

正如你從以上代碼中所看到的,添加了"total" 和"shipping"值并作為HTML顯示而產生的。這些表達式也可以再JSTL標簽中使用。JSTL1.0其中的一個重要需求就是JSTL要和JSP1.2一起使用。因為JSP1.2不支持EL, 所以又必要提供一些而外的JSTL標簽以便使用EL。例如,如果你想要使用JSTL來顯示以上的表達式,你可以使用以下的代碼:

       < p> 
Your total, including shipping is < c:out var="${total+shipping"/>

JSTL的一個需求就是不需要JSP2.0來運行。通過提供一個可以顯示EL表達式的標簽,這個需求才能被滿足。

JSTL示例

現在我們就來研究一個使用JSTL的簡單例子。在這個例子中,我們將研究許多Web應用程序都能做到的一個常見的程序。我們將看到如何POST一個表格并從其中運行結果。能夠這樣做的一個簡單的程序,見如下顯示:

< %@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
< html>

< head>

< title>If with Body< /title>

< /head>

< body>

< c:if test="${pageContext.request.method=='POST'}">

< c:if test="${param.guess=='Java'}">You guessed it!

< br />

< br />

< br />

< /c:if>

< c:if test="${param.guess!='Java'}">You are wrong

< br />

< br />

< br />

< /c:if>

< /c:if>

< form method="post">Guess what computer language

I am thinking of?

< input type="text" name="guess" />

< input type="submit" value="Try!" />

< br />

< /form>

< /body>

< /html>

這個簡單的Web網頁將顯示一個表格并詢問用戶猜一猜哪種計算機語言是程序可以考慮的。當然,計算機會考慮"Java."。本頁首先要檢查看是否一個POST被完成了。這使得表格和處理表格的代碼放在一個單一的頁面中。這個是通過以下JSTL if 語句完成的。

< c:if test="${pageContext.request.method=='POST'}">

這里你看到< c:if>標簽使用了一個EL表達式來評估要求的方式是否是一個POST。如果數據被粘貼到網頁,用戶輸入他們的猜測的值被儲存在一個名字叫"guess"的參數中。這是因為"guess"被指定為表格輸入條目的名字了。我們現在必須檢查看一看那這個參數是否等于"Java"。這個通過以下的< c:if>標簽來完成。

< c:if test="${param.guess=='Java'}"> 
You guessed it!

如你所見,如果語句評估正確,< c:if>標簽的主體就被執行。在本文中,我們開始研究有關怎樣安裝JSTL和它是如何工作的基礎知識。

JSTL的核心標簽也包括了循環,反復和變量處理的標簽。通過使用這些標簽,你可以重復這些集合,訪問用戶對話數據和執行所有Web應用程序執行的其他的核心任務。除了core tag library,XML, database和formatting tag 庫也提供了更先進的用途。

關于“JSP編程新組件JSTL怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女