关于使用<c:forEach >遍历map出现的一些问题

今天在开发过程中需要使用到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>

  



posted @ 2020-06-18 17:51  余情呀  阅读(945)  评论(0编辑  收藏  举报