SpringMVC學習指南【筆記6】JSTL標籤
使用taglib指令
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
out標籤
ouy標籤在運算表示式時,是將結果輸出帶當前的JspWriter。out的語法有兩種,一種是沒有body content的,一種是有body content的。
第一種:
<c:out value="value" [escapeXml="true|false"] [default="default Value"] />
第二種:
<c:out value="value"[escapeXml="true|false"] > default Value </c:out>
注意:在標籤的語法中,[]表示可選的屬性。
out中的default屬性可以賦一個預設值,當賦予其value屬性的EL表示式返回null時,就會顯示預設值。default屬性可以賦動態值,如果這個動態值返回null,out就會顯示一個空的字串。
例如,在下面的out標籤中,如果在HttpSession中沒有找到myVar變數,就會顯示應用程式範圍的變數myVar值,如果沒找到,就輸出一個空的字串。
<c:out value="${sessionScope.myVar}"default="${applicationScope.myVar}" />
set標籤
作用:1、建立一個字串和一個引用該字串的有界變數;
2、建立一個引用現存有界物件的有界變數;
3、設定有界物件的屬性。
如果用set建立有界變數,那麼在該標籤出現後的整個JSP頁面中都可以使用該變數。
set標籤的4種形式
第一種:<c:set value="value" var="varName" [scope="{page|request|session|application}"] />這裡的scope屬性指定了有界變數的範圍。
第二種:<c:set value="value" var="varName" [scope="{page|request|session|application}"] >body content</c:set>允許在body content中有JSP程式碼。
第三種:<c:set target="target" property="propertyName" value="value" />
第四種:<c:set target="target" property="propertyName">body content</c:set>
例如,將字串"ShenZhen"賦予有界物件address的city屬性
<c:set target="${address}" property="city" value="ShenZhen" />
或者
<c:set target="${address}" property="city">ShenZhen</c:set>
remove標籤
remove標籤用於刪除有界變數
<c:remove var="varName" [scope="{page|request|session|application}"] />
注意:有界變數引用的物件不能刪除。
例如,刪除頁面範圍的變數job
<c:remove var="job" scope="page" />
條件行為
4個標籤:if、choose、when、otherwise。
if標籤
第一種:<c:if test="testCondition" var="varName" [scope="{page|request|session|application}"] />
第二種:<c:if test="testCondition" [var="varName"] [scope="{page|request|session|application}"]>body content</c:if>
choose、when、otherwise標籤
遍歷行為
forEach標籤