十、jstl標籤庫

1、JSTL是SUN公司制定的一個JSP標籤庫,由apache jakarta組織負責維護的開源項目,目的是用標籤代替java代碼片斷。JSTL 1.0 由四個定製標記庫(core、format、xml 和 sql)和一對通用標記庫驗證器(ScriptFreeTLV 和 PermittedTaglibsTLV)組成。html

  1)、core: 標記庫提供了定製操做,經過限制了做用域的變量管理數據,以及執行頁面內容的迭代和條件操做。它還提供了用來生成和操做 URL 的標記。java

  2)、format: 標記庫定義了用來格式化數據(尤爲是數字和日期)的操做。它還支持使用本地化資源束進行 JSP 頁面的國際化。sql

  3)、xml: 庫包含一些標記,這些標記用來操做經過 XML 表示的數據,數據庫

   4)、sql :庫定義了用來查詢關係數據庫的操做。apache

二:Core:又被稱爲核心標籤庫(就是一般說的c標籤),該標籤庫的工做是對於 JSP 頁面通常處理的封裝。包含如下標籤 
  多用途核心標籤:<c:out> 、<c:set> 、<c:remove> 、<c:catch> 。 
  條件控制標籤:<c:if> 、<c:choose> 、<c:when> 、<c:otherwise> 。 
  循環控制標籤:<c:forEach> 、<c:forTokens> 。 
  URL 相關標籤:<c:import> 、<c:url> 、<c:redirect> 、<c:param> 。數組

3、Core標籤的引入:myeclipse集成了jstl,因此只須要在jsp頁面頭部將標籤庫引入就可使用jstl的core標籤庫eclipse

  a)、在Jsp頁面引入jstl標籤庫(prefix的名字課題任意的取,但通常都取爲c):jsp

1 <%@ taglib prefix="c" uri=""  %>

  b)、查詢uri的值:在Java EE 6 Libraries/jstl-impl.jar/META-INF/c.tld文件中找到uri的值:ide

  c)、上圖中的uri的值複製到taglib標籤中的uri中便可使用c標籤庫了:url

 1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
 2 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"  %>
 3 <%
 4 String path = request.getContextPath();
 5 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
 6 %>
 7 
 8 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 9 <html>
10   <head>
11   </head>
12   <body>
13        The book name is ${bookName} ;<br>
14        <!-- el表達式執行基本的邏輯運算 -->
15         ${1+2 }<br/>
16         ${5 < 7 }<br/>
17         ${5<7 && 4 >6 }<br/>
18         ${5<7 || 4 >6 }<br/>
19         <!-- 獲取數組 -->
20         ${arr[0] }<br/>
21         ${arr[1] }<br/>
22         ${arr[2] }<br/>
23         ${arr[3] }<br/>
24         ${arr[5] }<br/>
25         ${list[0]}<br>  <!-- list集合能夠用下標讀出來 -->
26         <!-- 獲取數組 -->
27         ${list[1]}<br>
28         ${list[2]}<br>
29         ${list[3]}<br>
30         ${list[4]}<br>
31         ${list[5]}<br>
32         <!-- 獲取Map -->
33         ${map["key1"] } == ${map.key1 }<br/>
34         ${map.key2 }<br/>
35         C 標籤的 forEach 用法 相似於加強for循環 <br/>
36         <c:forEach var="list" items="${list}">
37              ${list}<br/>
38         </c:forEach>
39         <c:forEach var="v" items="${map }">
40             <!-- 遍歷Map時,經過key獲取對應的鍵,經過value獲取對應的值 -->
41             ${v.key }====${v.value }<br/>
42         </c:forEach>
43         <c:if test="${bookName == 'chenzejun' }">
44               The book name is ${bookName} ;<br>
45          </c:if>
46          <c:out value="${bookName}" /><br>
47          <!-- 
48          c:set至關於設置一個變量,但只在本頁面有效
49           -->
50          <c:set var="temp" value="jsk"  />
51          ${temp} <br>
52   </body>
53 </html>
View Code
相關文章
相關標籤/搜索