本文主要是介绍簡介 JSTL,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在Servlet中撰寫HTML進行頁面輸出當然是件麻煩的事,第8章學過JSP後,你終於可以在JSP中直接寫HTML。然而,在JSP中寫Scriptlet放入Java程式碼也不是什麼好事,這跟Servlet中撰寫HTML相比其實是件半斤八兩的事。
如果你使用Model 2架構,你可以將請求處理放到Servlet,將商務邏輯放到純綷Java物件中,在JSP上則使用EL來取得值並顯示。如果你使用Model 1,你也可以將商務邏輯放到JavaBean中,在JSP上透過<jsp:useBean>、<jsp:setProperty>、<jsp:getProperty>等標籤以及來處理請求並取得結果進行顯示。
然而就目前你所學到的技術,無論如何你還是得在JSP中使用Scriptlet撰寫Java程式碼,才可以讓畫面呈現出想要的結果。例如,需要依某個條件來決定是否顯示某個網頁片段,或是需要使用迴圈來顯示表格內容。然而,HTML或JSP本身並沒有什麼<if>標籤,更沒什麼<for>標籤讓你達到這個目的。
所幸這些跟頁面呈現相關的邏輯判斷標籤是存在的,可由Java EE平台中的JSTL提供。JSTL不僅提供了條件判斷的邏輯標籤,還提供了對應JSP標準標籤的擴充標籤以及更多的功能標籤。基本上,JSTL提供的標籤庫分作五個大類:
- 核心標籤庫
- 格式標籤庫
- SQL標籤庫
- XML標籤庫
- 函式標籤庫
JSTL是另一個標準規範,本身並非在JSP的規範當中,所以必須另外下載JSTL實作:
可以透過上面這個網頁找到JSTL的相關下載與API文件說明。如果想要直接下載JSTL,則可以在這個網址找到:
下載了JSTL實作(封裝好的JAR檔案)之後,必須放置到Web應用程式的WEB-INF/lib資料夾中,JSTL 1.2實作的檔案名稱是jstl-impl-1.2.jar。如果需要API文件說明,則可以在這個網址找到:
JSTL的標籤種類也蠻多的,這邊的文件只說明JSTL核心標籤庫。其它的標籤庫則請參考JSTL文件說明。要使用JSTL核心標籤庫,必須在JSP網頁上,使用taglib指示元素定義前置文件與uri參考。
前置文件設定了這個標籤庫在此JSP網頁中的名稱空間,以避免與其它標籤庫的標籤名稱發生衝突,慣例上使用JSTL核心標籤庫時,會使用c作為前置名稱。uri參考則告知容器,如何參考JSTL標籤庫實作。
如果你必須使用JSTL 1.0(適用於JSP 1.2、J2EE 1.3環境),除了要將jstl.jar與standard.jar複製至WEB- INF/lib資料夾,還需複製TLD檔案,並於web.xml中設定TLD檔案的位置。例如要使用核心標籤庫的話,需在web.xml中設定:
<taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
<taglib-location>/WEB-INF/tlds/c.tld</taglib-uri>
</taglib>
注意uri名稱與JSTL 1.1之後不一樣(1.1之後的uri是http://java.sun.com/jsp/jstl/core)。在JSP網頁上,同樣也要使用taglib指示元素定義前置文字與uri。
转载地址:http://caterpillar.onlyfun.net/Gossip/ServletJSP/IntroduceJSTL.html
这篇关于簡介 JSTL的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!