在jstl foreeach中只迭代了几个元素

时间:2015-05-06 04:10:39

标签: jsp foreach jstl

我有一个要求,我必须迭代保存在PageContext中的地图元素,在每个jstl之前。我也在选项标签中使用了一个迭代器。所以我需要确保每个循环的前面迭代1比map al的实际映射大小少,这样我的迭代器i就不会完全迭代了。

    select name="interval" id="interval" onchange="comeback()" >

    <% 
    String s="";
    s=(String)portletSession.getAttribute("int1"); 
    %>


     <option value="int">Time Interval</option>
     <c:forEach var="line" begin="0" end="<%= al.size()-1 %>" items="${al}">
     <option <%=((String)((Iterator)portletSession.getAttribute("i")).next()).equals(s)?"selected":" "%>  > <c:out value="${line.value}"/></option> 

    </c:forEach>

    <option value="others" <%=((String)((Iterator)portletSession.getAttribute("i")).next()).equals(s)?"selected":" "%> >> 60 Days </option>
    </select>

我尝试使用begin end,但没有成功。 请帮帮我。

此致

1 个答案:

答案 0 :(得分:1)

end="<%= al.size()-2 %>"
根据数组的索引

你想要的最后一个元素应该是 al.size() - 2