JSTL 每天積極向上

I GO SOLO發表於2020-12-28

1.匯入標籤庫
core:核心標籤庫,我們學習的重點
fmt:格式化標籤庫,只需要學習兩個標籤即可

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

2.標籤庫常用標籤
—>out標籤

<c:out value=”aaa”/>					輸出aaa字串常量

<c:out value=”${aaa}”/>					與${aaa}相同

<c:out value=”${aaa}” default=”xxx”/>	當${aaa}不存在時,輸出xxx字串

—>set標籤

<c:set var=”a” value=”hello”/>			在pageContext中新增name為a,value為hello的資料。

<c:set var=”a” value=”hello” scope=”session”/>	在session中新增name為a,value為hello的資料。

—>remove標籤

<c: remove var="a"/>				刪除所有域中name為a的資料!

<c:remove var="a" scope=”page”/>	刪除pageContext中name為a的資料 

—>url標籤

<c:url value="/"/>					輸出上下文路徑:/專案名/

<c:url value="/" var="a" scope="request"/>	把本該輸出的結果賦給變數a。範圍為request

<c:url value="/AServlet"/>			輸出:/專案名/AServlet

<c:url value="/AServlet">				
<c:param name="username" value="abc"/>	
<c:param name="password" value="123"/>
輸出:/專案名/AServlet?username=abc&password=123
如果引數中包含中文,那麼會自動使用URL編碼!                       

—>if標籤

<c:if test="${}">
	
</c:if>

—>choose

<c:choose>
	<c:when test="${score > 100 || score < 0}"> 錯誤的分數:${score} </c:when>
	<c:when test="${score >= 90}"> A級 </c:when>
	<c:when test="${score >= 80}"> B級 </c:when>
	<c:when test="${score >= 70}"> C級 </c:when>
	<c:when test="${score >= 60}"> D級 </c:when>
	<c:otherwise> E級 </c:otherwise>
</c:choose>

—>forEach

用法一:
<c:forEach var="i" begin="1" end="10"> 

</c:forEach>

用法二:
<c:forEach var="i" begin="1"  end="10" step ="2" >

</c:forEach>

用法三:
<c:forEach var="a" items="${list}">
	${a}
</c:forEach>

用法四:
<c:forEach var="a" items="${map}">
	${a.key}
	${a.value}
</c:forEach>

用法五:
varStatus,這個屬性用來指定接收“迴圈狀態”的變數名,這時就可以使用vs這個變數來獲取迴圈的狀態了。
count:int型別,當前以遍歷元素的個數;
index:int型別,當前元素的下標;
first:boolean型別,是否為第一個元素;
last:boolean型別,是否為最後一個元素;
current:Object型別,表示當前專案。

<c:forEach var="item" items="${ns}" varStatus="vs">
	<c:if test="${vs.first}">第一行:</c:if>
	<c:if test="${vs.last}">最後一行:</c:if>
	<c:out value="第${vs.count}行: "/>
	<c:out value="[${vs.index}]: "/>
	<c:out value="name: ${vs.current}"/><br/>
</c:forEach>

—>fmt

格式化時間:
<fmt:formatDate value="${d}" pattern="yyyy-MM-dd HH:mm:ss"/>
格式化數字:
<fmt:formatNumber value="${d1}" pattern="0.00"/>
<fmt:formatNumber value="${d2}" pattern="#.##"/>

相關文章