JSTL打印数组列表值在ul - li html标记中。正确的算法。

时间:2011-07-29 12:58:58

标签: java arrays jsp jstl

在JSP中我应该在“li”html标签中打印数组列表的值。问题是我应该在一个循环中打印两个值。这是html中的示例:

<ul class="myProfileTeamNameList">
    <li><p class="first">- Team_Name_1</p><p>- Team_Name_2</p></li>
</ul>

我已实现此功能,但我只能打印第一个值。这是我的代码:

<ul class="myProfileTeamNameList">
   <c:forEach var="team" items="${teams}">
   <li><p class="first">- ${team.name}</p> <p>- ${team.name}</p></li>
</c:forEach>
</ul>

而不是在第二个

html标记中,我应该编写SUCCESSIVE数组列表值。类似于:$ {team.name} + 1

有人能帮助我吗?非常感谢。

2 个答案:

答案 0 :(得分:1)

理想情况下,您不应使用列表。您应该使用Maploop through its entries来获取密钥和值。

但是如果你真的需要使用这个列表,<c:forEach>允许你编写一个基于索引的循环。而不是items,请指定step=2beginendvarStatus,然后分别引用${items[varStatus.index]}(和.index+1) 。 E.g。

<c:forEach step="2" being="0" end="${fn:length(array)}" varStatus="status">
    ${items[varStatus.index]} - ${items[varStatus.index+1]}
</c:forEach>

答案 1 :(得分:0)

我认为实现你想要的最好的方法是向jsp视图传递一对夫妇的列表。我的意思是你可以构建一个包含团队两个元素的beansInPair bean列表。这种选择可以简化视图中的业务逻辑。