Какие методы мне нужно добавить в пользовательский класс 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 ??
}
Есть ли какой-либо интерфейс, который я должен реализовать, например PHP ArrayAccess или Iterator, чтобы это работало?
Изменить: без прямого доступа к самому ArrayList, потому что я, вероятно, буду использовать какой-то класс Set с использованием дженериков, а представление JSP не должно знать о внутренней работе класса.