Не совсем понятно, о чем вы спрашиваете. Но твой тэг, как он есть, просто проходит по каждому внутреннему списку внешнего списка (ну, на самом деле, я думаю, что он должен это делать, но у него есть ошибка, поэтому он этого не делает).
Вам не нужен пользовательский тег для этого, так как тег JSTL <c:forEach>
уже делает это. Предположим, у вас есть externalList, хранящийся в атрибуте запроса (или страницы, или сеанса, или приложения):
<%-- iterate through the outer list --%>
<c:forEach var="innerList" items="${outerList}">
<%-- iterate through the innerList --%>
<c:forEach var="element" items="${innerList}">
<%-- do what you want with the element --%>
</c:forEach>
</c:forEach>
Из твоего вопроса мне кажется, что у тебя не должно быть внутреннего списка. Скорее, внешний список должен содержать объекты (например, экземпляры класса Person
), которые имеют методы getId()
и и getName()
. Цикл будет таким:
<%-- iterate through the outer list --%>
<c:forEach var="person" items="${personList}">
ID : ${person.id}<br/>
Name : <c:out value="${person.name}"/>
</c:forEach>