今天在开发过程中需要使用到JSP c标签库中的<c:forEach >遍历Map
发现继续当作list是不行的,得这样用:
<c:forEach items="${Map}" var="item" varStatus="status">
<a style="color:blue;" href="javascript:void(0)" class="btn-actor-detail" data-name="${item.value.name}" data-value="${item.value.oid}">${item.value.name}</a>:${item.value.number},
</c:forEach>
只需要将map里的元素 使用item.value.XX 就可以取到了
另外循环里需要进行判断,但是c标签库里没有 <c:if><c:else> ,可以用<c:choose>来取代结构:
<c:choose>
<c:when test="">
如果
</c:when>
<c:otherwise>
否则
</c:otherwise>
</c:choose>
另外判断里需要拿到最后一个索引,然后将“,”去掉,可以使用另一个属性 varStatus
看一下 c:forEach varStatus属性
current 当前这次迭代的(集合中的)项 index 当前这次迭代从 0 开始的迭代索引 count 当前这次迭代从 1 开始的迭代计数 first 用来表明当前这轮迭代是否为第一次迭代的标志 last 用来表明当前这轮迭代是否为最后一次迭代的标志 begin 属性值 end 属性值 step 属性值
所以在这里,判断条件里使用 last属性就可以了
<c:forEach items="${CpActorThree1}" var="item" varStatus="status">
<c:choose>
<c:when test="${status.last==true}">
<a style="color:blue;" href="javascript:void(0)" class="btn-actor-detail" data-name="${item.value.name}" data-value="${item.value.oid}">${item.value.name}</a>:${item.value.number}
</c:when>
<c:otherwise>
<a style="color:blue;" href="javascript:void(0)" class="btn-actor-detail" data-name="${item.value.name}" data-value="${item.value.oid}">${item.value.name}</a>:${item.value.number},
</c:otherwise>
</c:choose>
</c:forEach>
原文:https://www.cnblogs.com/yuqingya/p/13158900.html