我正在尝试使用JSTL <c:forEach>
创建网格。
<c:forEach var="user" items="${userList}" step="1" begin="0">
<div id="col1">
<a href="#">${user.userName}</a>
</div>
<div id="col2">
<a href="#">${user.userName}</a>
</div>
<div id="col3">
<a href="#">${user.userName}</a>
</div>
</c:forEach>
输出结果为:
user1 user1 user1
user2 user2 user2
user3 user3 user3
and so on...
但我希望它显示如下:
user1 user2 user3
user4 user5 user6
user7 user8 user9
and so on...
我的CSS是:
#col1 {
position: absolute;
left: 5px;
padding: 0px;
}
#col2 {
position: absolute;
margin-left: 100px;
padding: 0px;
}
#col3 {
margin-left: 200px;
padding: 0px;
}
如何在不使用桌子的情况下实现这一目标?
答案 0 :(得分:4)
您需要申报状态变量,请尝试:
<c:forEach var="user" varStatus="status" items="${userList}" step="1" begin="0">
<div id="col${status.index % 3 + 1}">
<a href="#">${user.userName}</a>
</div>
</c:forEach>
答案 1 :(得分:1)
试试这个,
<c:set var="count" value="1"/>
<c:forEach var="user" items="${userList}" step="1" begin="0">
<c:if test="${count==4}">
<c:set var="count" value="1"/>
</c:if>
<div id="col${count}">
<a href="#">${user.userName}</a>
</div>
<c:set var="count" value="${count+1}"/>
</c:forEach>