如何在JSTL中使用索引变量迭代LinkedHashMap

时间:2014-11-25 13:10:48

标签: loops jstl linkedhashmap

您能否建议如何使用索引变量迭代LinkedHashMap。 重要的是我使用索引变量来迭代地图。 我需要索引来访问同一个地图中其他地方的值

Map<String,List<String>> map = new LinkedHashMap<String,List<String>>();    

我已经编写了java代码。并努力在JSTL中转换此代码。

int listcount = 8;

for (Map.Entry<String, List<String>> entry : map.entrySet())
{               

          List<String> lst = new ArrayList<String>();
          lst= entry.getValue();
          System.out.println(":::::::"+entry.getKey()+":::::::");

          for(int i=0;i<listcount;i++){                     
                        System.out.println(lst.get(i));
                        System.out.println(map.get(entry.getKey()+"New").get(i));                       

           }    

}

我的JSTL代码到现在为止:

<c:forEach items="${theList}" var="entry" varStatus="i">
                <tr>
                    <td>${entry.key}</td>

                    <c:forEach items="${entry.value}" var="item" varStatus="j">                             
                                <td>value:  ${entry.value[j.index]}</td>
                                 <td>What to Do here!</td>                          
                    </c:forEach>
                </tr>
</c:forEach>  

1 个答案:

答案 0 :(得分:0)

抱歉,想通了。 这是解决方案。

<c:forEach items="${rmqList}" var="entry" varStatus="i">
                    <c:set var="editedfieldkey" value="${entry.key}New"/>
                <tr>
                        <td>${entry.key}</td>


                        <c:forEach items="${entry.value}" var="item" varStatus="j">
                            <c:if test="${item ne null }">      
                                <td>Value: ${item} <td>
                                <td>Edited Value ${rmqList[editedfieldkey][j.index]}</td>
                            </c:if>
                        </c:forEach>
                    </tr>
                </c:forEach>