У меня возникла ситуация, когда я хотел бы выполнить вложенные итерации для ряда параметров и отобразить результаты с помощью JSF. Как пример, подумайте о доске обсуждений. Каждый комментарий может содержать родительский комментарий и 0-н дочерние комментарии. Итак, мой корневой объект будет выглядеть примерно так:
public class MyObject {
...
public List<Comment> getComments();
...
}
И мои комментарии выглядят так:
public class Comment {
...
public Comment getParent();
...
public List<Comment> getChildComments();
...
}
У меня все мои сущности настроены с использованием JPA, и они заполняются в базе данных. Но моя дилемма заключается в том, как перебирать каждый комментарий, чтобы я мог отображать его дочерние комментарии в строке? Я знаю, что могу использовать <ui:repeat value="#{myObj}" var="comment" />
для перебора комментариев корневого уровня для объекта. Но как я тогда перебираю комментарии детей для каждого из них? И затем, как мне перебрать их дочерние комментарии. И так далее, и так далее.
Кто-нибудь когда-нибудь делал что-нибудь подобное? Я полагаю, что «вложенная итерация» действительно может рассматриваться как «рекурсивная итерация». Мысли?