Как создать сетку <div>с использованием JSTL? - PullRequest
4 голосов
/ 06 октября 2011

Я пытаюсь создать сетку, используя 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;
}

Как мне этого добиться без использования стола?

Ответы [ 2 ]

4 голосов
/ 06 октября 2011

Вам необходимо объявить переменную состояния, попробуйте:

<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 голос
/ 06 октября 2011

Попробуйте это,

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...