Ответ 1
Вывод полностью соответствует ожидаемому и указанному. <ui:repeat>
- это тег времени рендеринга, а не тег времени построения вида, например <c:forEach>
. После создания представления <h:panelGrid>
заканчивается 1 дочерним компонентом (сам <ui:repeat>
), а не с n <h:outputText>
компонентами, такими как <c:forEach>
.
Вместо этого вам понадобится <h:dataTable>
. Он предназначен именно для этой цели.
<h:dataTable var="o" value="#{mybean.list}">
<h:column>
<h:outputText value="#{o.text}"/>
</h:column>
</h:dataTable>