JSTL
需要引入2个jar:jstl.jar standard.jar
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
其中 prefix=“c” 代表前缀
核心标签库:通用标签库、条件标签库。迭代标签库
!慎用空格
- 通用标签库
赋值:
1.给某个变量赋值
<c:set var="name" value="zs" scope="request"/>
2.给不同对象赋值
在这写法,不能指定scope
普通对象:
<c:set target="${request.student}" property="sname" value="ls"/>
map对象
<s:set target="${request.countrise}" property="cn" value="中国"/>
注意:
<c:set/>
可以给不存在的变量的赋值。但不能给不存在的对象赋值
输出:
<c:out/>
优点,可以设置默认值,当需要输出的对象不存在时,显示默认值
<c:out value=“${requestScope.student} default="zs-34"/>
显示超链接:
<a href="https://www.baidu.com">百度</a>
true:<c:out value='<a href="https://www.baidu.com">百度</a>' escapeXml="true"/>
显示文字
false:<c:out value='<a href="https://www.baidu.com">百度</a>' escapeXml="false"/>
显示超链接
删除变量
<c:set var="a" value="b" scope="request"/>
<c:remove var="a" scope="request"/>
- 条件标签库
if
<c:if test="${10>2}" var="result" scope="request">
真
${requestScope.result}
</c:if>
test中写判断条件
var中的result是判断结果
多重if
<c:choose>
<c:when test="${requestScope.role == '老师'}"> </c:when>
<c:when test=".."> </c:when>
<c:when test=".."> </c:when>
<c:when test=".."> </c:when>
<c:otherwise> </c:otherwise>
</c:choose>
test不能乱加空格!!
- 迭代标签库
java:
for(int i = 0; i < 5 ; i++)
JSTL:
<c:forEach begin="0" end="4" step="1">
${status.index}
</c:forEach>
java:
for(String name:names)
JSTL:
<c:forEach var="name" item="${requestScope.names}">
${name}
</c:forEach>