JSTL中的TLD配置和使用。


一,JSTL介紹:  

  JSTL標簽庫,是日常開發經常使用的,也是眾多標簽中性能最好的。把常用的內容,放在這里備份一份,隨用隨查。盡量做到不用查,就可以隨手就可以寫出來。這算是Java程序員的基本功吧,一定要扎實。

  JSTL全名為JavaServer Pages Standard Tag Library。JSTL是由JCP(Java Community Process)所制定的標准規范,它主要提供給Java Web開發人員一個標准通用的標簽函數庫。

  Web程序員能夠利用JSTL和EL來開發Web程序,取代傳統直接在頁面上嵌入Java程序(Scripting)的做法,以提高程序的閱讀性、維護性和方便性。

二,JSTL配置:

  主要牽涉到兩個jar包

  standward.jar和jstl.jar包 (兩個包1.0和1.2版本的下載以及TLD下載路徑如下:下載路徑

  加載方式包括兩種

  1,非自動加載

  a,將tld文件copy到WEB-INFO下的tld目錄下,沒有就創建之

  b,修改web.xml文件配置,添加配置如下 

 1 <jsp-config>
 2   <taglib>
 3    <taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
 4    <taglib-location>/WEB-INF/tld/c.tld</taglib-location>
 5   </taglib>
 6   <taglib>
 7    <taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri>
 8    <taglib-location>/WEB-INF/tld/fmt.tld</taglib-location>
 9   </taglib>
10   <taglib>
11    <taglib-uri>http://java.sun.com/jstl/fn</taglib-uri>
12    <taglib-location>/WEB-INF/tld/fn.tld</taglib-location>
13   </taglib>
14  </jsp-config>
View Code

  c,jsp中引用taglib

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

  2,自動加載

Servlet2.4規范提供了對tld文件的自動加載,tld文件在standard.jar的META-INF文件夾中。

如:c.tld文件提供了對核心jstl標簽的描述

<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
    version="2.0">
    
  <description>JSTL 1.1 core library</description>
  <display-name>JSTL core</display-name>
  <tlib-version>1.1</tlib-version>
  <short-name>c</short-name>
  <uri>http://java.sun.com/jsp/jstl/core</uri>

可以看到其引用的uri為http://java.sun.com/jsp/jstl/core

則在jsp中引用taglib為: <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

三,JSTL核心標簽庫的使用

JSTL 核心標簽庫標簽共有13個,功能上分為4類:

1.表達式控制標簽:out、set、remove、catch

2.流程控制標簽:if、choose、when、otherwise

3.循環標簽:forEach、forTokens

4.URL操作標簽:import、url、redirect

使用標簽時,一定要在jsp文件頭加入以下代碼:

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

下面分別對這些標簽進行說明:

1. <c:out> 用來顯示數據對象(字符串、表達式)的內容或結果

使用Java腳本的方式為:<% out.println("hello") %>  <% =表達式 %>

使用JSTL標簽:<c:out value="字符串">

2. <c:set> 用於將變量存取於 JSP 范圍中或 JavaBean 屬性中。

3.<c:remove> 主要用來從指定的 jsp 范圍內移除指定的變量。使用類似,下面只給出語法:

<c:remove var="變量名" [scope="page|request|session|application"]></c:remove>


4.<c:catch> 用來處理 JSP 頁面中產生的異常,並存儲異常信息

<c:catch var="name1">

      容易產生異常的代碼

</c:catch>

如果拋異常,則異常信息保存在變量 name1 中。

5.<c:if>

<c:if test="條件1" var="name" [scope="page|request|session|application"]></c:remove>

6. <c:choose> <c:when> <c:otherwise> 三個標簽通常嵌套使用,第一個標簽在最外層,最后一個標簽在嵌套中只能使用一次

7.<c:forEach>

語法:<c:forEach var="name" items="Collection" varStatus="statusName" begin="begin" end="end" step="step"></c:forEach>

該標簽根據循環條件遍歷集合 Collection 中的元素。 var 用於存儲從集合中取出的元素;items 指定要遍歷的集合;varStatus 用於存放集合中元素的信息。varStatus 一共有4種狀態屬性,分別為索引,迭代次數,是否第一個元素,是否最后一個元素

8.<c:forTokens> 用於瀏覽字符串,並根據指定的字符串截取字符串
語法:<c:forTokens items="stringOfTokens" delims="delimiters" [var="name" begin="begin" end="end" step="len" varStatus="statusName"]></c:forTokens>

 

部分文章轉自下面博客,更詳細的例子詳見下面博客:http://www.cnblogs.com/lihuiyy/archive/2012/02/24/2366806.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM