我要做一个功能,ForEach遍历出Select下拉框。然后每个select和后台的list中每个值去对比,第一个和list[0],第二个和list[1]。。依次类推。
  这是外层遍历select的forEach<c:forEach var="item" items="${prodPropertyList}"varStatus="status" step="1">
  这是需要判断的内层forEach(中间一些步骤我省了,有需要我再贴出来)
  <c:forEach items="${listProdValue}" varStatus="inner2"
var="pro">

<c:choose>
<c:when test="${class.tbsprodattdtlid==pro[status.index]}">
<option value="${class.tbsprodattdtlid}" selected>
${class.name }
</option>
</c:when>
<c:otherwise>
<option value="${class.tbsprodattdtlid}">
${class.name }
</option>
</c:otherwise>
</c:choose>

</c:forEach>
</c:forEach>
这里pro[status.index] 提示出错,没有'0' 这个属性。而我想要它当做索引值。请大家帮帮忙。

解决方案 »

  1.   

    直接<c:when test="${class.tbsprodattdtlid==pro[status]}">? 不行的 报错
      

  2.   

     ${listProdValue} 循环之后 得到的pro 还是一个集合?
      

  3.   

    回楼上,循环之后只是一个Integer类型的数字了 。pro
      

  4.   

    那你是要 比对他循环的所引?就是 0 1 2 这样?
    如果是这样 可以在外面定义一个起始变量 然后循环完一次自己++一次(比较笨拙的方法)
    如果要比对每次循环出来的值 直接==pro不就可以了么