#java #jsp #loops #foreach
#java #jsp #циклы #foreach
Вопрос:
Привет, мне было интересно, как использовать в JSP цикл
<c:forEach > </c:forEach
в коллекции Java, сформированной: 1 , 1, 2, 3
Предполагая, что есть
<table></table>
вокруг foreach, и каждое значение коллекции находится внутри
<tr></tr>
он показывает четыре строки или три? Учитывает ли он одни и те же значения каждый раз (например, «1») или нет?
1
1
2
3
или
1
2
3
Ответ №1:
c: forEach — это не что иное, как цикл for для JSP, и он работает так же, как цикл for будет работать в ядре Java, если вы хотите пропустить дубликаты в файле jsp, вы можете сделать две вещи: использовать структуру данных, которая не допускает дубликатов, таких как SET и т. Д., Или вы можете использовать c:если вместе с c:forEach в файле JSP, который будет проверять наличие дубликатов, и вы можете удалить их в своей таблице.
Ответ №2:
c:forEach просто перебирает коллекцию одну за другой. forEach не имеет какой-либо специальной обработки для дубликатов. Если коллекция может содержать дубликаты, она не пропустит их.
Если вам не нужны дубликаты, вам следует рассмотреть возможность использования структуры данных, которая в первую очередь не допускает дубликатов, например, Set .