一 . 引入標籤庫
html
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>java
二. <c:> 核心標籤庫web
jstl 核心標籤庫總共有13中, 功能上分4類:session
1. 表達式控制標籤:out、set、remove、catchapp
2. 流程控制標籤:if、choose、when、otherwisejsp
3. 循環標籤: forEach、forTokens測試
4. URL操做標籤:import、url、redirectui
三. 標籤使用url
1. <c:set >標籤spa
<c:set value="${value}" var="key" /> <c:set var="key"><c:out value="${value}" /></c:set> <--當value值 爲int 轉化爲String -->
2. <c:forEach>標籤的屬性說明:
varStatus屬性
屬性 |
類型 |
意義 |
index |
number |
如今指到成員的索引 |
count |
number |
總共指到成員的總和 |
first |
boolean |
如今指到成員是否爲第一個 |
last |
boolean |
如今指到成員是否爲最後一個 |
3. <c:forTokens > 用來瀏覽一字符串中全部的成員,其成員是由定義符號(delimiters)所分隔的。
<c:forTokens items="stringOfTokens" delims="delimiters" [var="varName"] [varStatus="varStatusName"] [begin="begin"] [end="end"] [step="step"]> </c:forTokens>
4. <c:out value="" >default value</c:out> 主要用來顯示數據內容
語法1:沒有本體(body)內容
<c:out value="value" [escapeXml="{true|false}"] [default="defaultValue"] />
語法2:有本體(body)內容
<c:out value="value" [escapeXml="{true|false}"]> default value </c:out>
通常來講,<c:out>默認會將<、>、’、」 和 & 轉換爲 <、>、'、" 和&。倘若不想轉換時,只須要設定<c:out>的escapeXml屬性爲fasle就能夠了。
5. <c:set> 標籤 主要用來將變量儲存至JSP範圍中或是JavaBean的屬性中
<c:set> 標籤的 屬性說明 :
語法1:將value的值儲存至範圍爲scope的 varName 變量之中
<c:set value="value" var="varName" [scope="{ page|request|session|application }"]/>
語法2:將本體內容的數據儲存至範圍爲scope的 varName 變量之中
<c:set var="varName" [scope="{ page|request|session|application }"]> … 本體內容 </c:set>
語法3:將 value的值儲存至 target 對象的屬性中
<c:set value="value" target="target" property="propertyName" />
語法4:將本體內容的數據儲存至target 對象的屬性中
<c:set target="target" property="propertyName"> … 本體內容 </c:set>
6. <c:remove> 標籤 主要用來移除變量
<c:remove var="varName" [scope="{ age|request|session|application }"] />
7. <c:catch> 標籤 主要用來處理產生錯誤的異常狀況,並將錯誤信息儲存起來
<c:catch [var="varName"] > … 欲抓取錯誤的部分 </c:catch>
<c:catch var="exception"> <c:import url="ftp://ftp.example.com/package/README"/> </c:catch>
8. <c:if> 標籤 主要用來邏輯判斷
語法1:沒有本體內容
<c:if test="testCondition" var="varName" [scope="{page|request|session|application}"]/>
語法2:有本體內容
<c:if test="testCondition" [var="varName"] [scope="{page|request|session|application}"]> 本體內容 </c:if>
9. <c:choose><c:when><c:otherwise> 標籤 主要用來邏輯判斷
實例:
<c:set var="score">85</c:set> <c:choose> <c:when test="${score>=90}"> 你的成績爲優秀! </c:when> <c:when test="${score>=70&&score<90}"> 您的成績爲良好! </c:when> <c:when test="${score>60&&score<70}"> 您的成績爲及格 </c:when> <c:otherwise> 對不起,您沒有經過考試! </c:otherwise> </c:choose>
10. <c:import> 標籤 提供全部的<include>動做的功能,但也容許包含的絕對URL
屬性:
<c:import var="data" url="http://www.baidu.com"/> <c:out value="${data}" escapeXml="true" />
11. <c:url> 標籤 標籤做用是將一個URL地址格式化爲一個字符串,而且保存在一個變量當中。它具備URL自動重寫功能。value指定的URL能夠是當前工程的一個URL地址,也能夠是其餘web工程的URL。可是這時須要context屬性。也能夠添加須要傳遞的參數。
示例:
<c:url var="urlStr" value="/user.jsp" > <c:param name="id" value="111" /> </c:url> <c:url var="urlStr" value="/user.jsp" context="/project" /><!--同一容器的其餘web應用--> <c:out value="${urlStr}" /> <a href="${urlStr}"" >測試</a>
9. <c:redirect> 標籤 主要用來實現請求重定向 與標準 <jsp:forward>
操做的用法相似
<c:redirect url="http://127.0.0.1:8080"> <c:param value="uname" value="lihui"/> <c:param value="password" value="111111"/> </c:redirect>
則運行後,頁面跳轉爲:http://127.0.0.1:8080/?uname=lihui&password=11111