JSTL : 比EL更强大
两个jar包 jstl.jar standard.jar
步骤
1、引入taglib指令
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
prefix=“c” 标签前缀
表示 核心标签库 : 通用标签库 、条件标签库 迭代标签库
I、通用标签库
<c:set> 赋值
i、给作用域内 给某个变量赋值
<c:set var="name" value="李四" scope="request"/>
ii、给某个对象赋值(不指定scope)
普通对象
<c:set target="${requestScope.student}" property="sname" value="zz"/>
给map对象赋值:
<c:set target="${requestScope.map}" property="cn" value="china"/>
给不存在的对象赋值 —》报错
给不存在的变量赋值 : 可以
<c:out >
true:<c:out value=' <a href="https://www.baidu.com">百度</a> ' escapeXml="true"/><br>
escapeXml="true" 逃离字段
default : 如果属性值为空 就显示默认值
<c:remove> 删除域的属性
<c:remove var="a" scope="request"/>
var : 属性名
scope: 域对象
选择
<c:if test="${10>2}" var="result" scope="page">
zhenfgjoifd<br>
${pageScope.result}
</c:if>
<c:set var="roal" value="领导" scope="page"/>
多选 注意空格
<c:choose>
<c:when test="${roal=='学生'}">学生</c:when>
<c:when test="${roal=='老师'}">老师</c:when>
<c:when test="${roal eq '领导'}">领导</c:when>
<c:otherwise> 你是瓜皮</c:otherwise>
</c:choose>
迭代标签
for(int i = 0; i < 5; i++)
<c:forEach begin="0" end="5" step="1" varStatus="status">
${status.index}
hrhr<br>
</c:forEach>
for(Sting name: stu)
<c:forEach var="name" items="${requestScope.map}" >
${name}====<br>
</c:forEach>