jstl学习记录 -- forEach

时间:2022-03-29 06:00:22

jsp页面使用jstl,需要引入jar包jstl-1.2.jar和standard-1.1.2.jar,并且在jsp页面中引入标签库:

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

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

使用示例如下:

<c:choose>
<c:when test="${empty infos}"><span>没有数据</span></c:when>  //这里判断后台传的List<Map>infos是否为空,如果是就提示没有数据
<c:otherwise>
<c:forEach items="${infos}" var="item" varStatus="status"> //开始遍历infos,其中var =“item”是当前的map,varStatus=“status”提供了一些迭代属性,包括index
<ul class="ultext" id="ultext">
<li>
<c:if test="${status.index le 2}">//这里用if语句判断一下索引小于2的多给一个样式。
<span class="numbber1 number2">${status.index + 1}</span>
</c:if>
<c:if test="${status.index gt 2}">
<span class="numbber1">${status.index + 1}</span>
</c:if>
<p class="personal-poto"><img  src="${item.headimgurl}"/></p>//获取当前index中map的属性
<c:if test="${fn:length(item.name) ge 6}">//用${fn:函数名}来做一下处理
<p class="text-ts">${fn:substring(item.name,0,6)}</p>
</c:if>
<c:if test="${fn:length(item.name) lt 6}">
<p class="text-ts">${item.name}</p>
</c:if>
</li>
<li>
<p class="hq-liul">获取数量<span>${item.bill_value}个</span></p>
</li>
</ul>
</c:forEach>
</c:otherwise>
</c:choose>