JavaWeb ——servlet學習10之JSTL表達式
全稱 : JSP Standard Tag Library jsp標準標籤庫
簡化jsp的代碼編寫。 替換 <%%> 寫法。 一般與EL表達式配合
使用步驟
-
導入jar文件到工程的WebContent/Web-Inf/lib jstl.jar standard.jar
-
在jsp頁面上,使用taglib 指令,來引入標籤庫
-
注意: 如果想支持 EL表達式,那麼引入的標籤庫必須選擇1.1的版本,1.0的版本不支持EL表達式。
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
常用標籤
<c:set></c:set>
<c:if test=""></c:if>
<c:forEach></c:forEach>
-
c:set
聲明一個對象name, 對象的值 zhangsan , 存儲到了page(默認) , 指定是session 作用域
// 賦值
<c:set var="name" value="zhangsan" scope="session"></c:set>
// 取值
${sessionScope.name }
-
c:if
判斷test裏面的表達式是否滿足,如果滿足,就執行c:if標籤中的輸出 , c:if 是沒有else的。
<c:set var="age" value="18" ></c:set>
<c:if test="${ age > 26 }">
年齡大於了26歲...
</c:if>
<c:if test="${ age <= 26 }">
年齡小於了26歲...
</c:if>
// 定義一個變量名 flag 去接收前面表達式的值,然後存在session域中
<c:if test="${ age > 26 }" var="flag" scope="session">
年齡大於了26歲...
</c:if>
-
c:forEach
// 從1開始遍歷到10 ,得到的結果 ,賦值給 i ,並且會存儲到page域中, step , 增幅爲2,
<c:forEach begin="1" end="10" var="i" step="2">
${i }
</c:forEach>
// items : 表示遍歷哪一個對象,注意,這裏必須寫EL表達式。
var: 遍歷出來的每一個元素用user 去接收。
<c:forEach var="user" items="${list }">
${user.name } ----${user.age }
</c:forEach>