JSTL - Использование forEach для итерации по определенному пользователем классу [duplicate]
На этот вопрос уже есть ответ:
javax.servlet.ServletException: javax.servlet.jsp.JspTagException: не знаю, как перебирать предоставленные «элементы» в <forEach> 3 ответаКакие методы мне нужно добавить в пользовательский класс Java, чтобы я мог перебирать элементы одного из его членов? Я не смог найти каких-либо спецификаций о том, как на самом деле работает тег JSTL forEach, поэтому я не уверен, как это реализовать.
Например, если я создал общий класс ProjectSet и мне хотелось бы использовать следующую разметку в представлении JSP:
<c:forEach items="${projectset}" var="project">
...
</c:forEach>
Базовый файл класса:
public class ProjectSet {
private ArrayList<Project> projects;
public ProjectSet() {
this.projects = new ArrayList<Project>();
}
// .. iteration methods ??
}
Есть ли какой-нибудь интерфейс, который я должен реализовать как PHPArrayAccess
илиIterator
чтобы это сработало?
Редактировать: без непосредственного доступа к самому ArrayList, потому что я, скорее всего, буду использовать какой-то класс Set с использованием обобщенных типов, и представление JSP не должно знать о внутренней работе класса.