Pessoal, percebo que venho tentando bastante dificuldade em fazer uma iteração de alguns elementos no meu projeto utilizando JSF, primeiro, muitas vezes não posso recorrer ao velho datatable ou datalist, geralmente é um conjunto de dados e fico como unica saida, dependendo do <c:forEach>, mas utilizando o mesmo, venho tendo certos problemas de as variaveis serem reconhecidas pelas tags JSF dentro da iteração, como eu resolveria isso pessoal ??? como vocês utilizam quando querem iterar uma lista e que não seja uma tabela, como o datatable???
Iterar lista de "Objetos", qual a melhor forma usando JSF?
4 Respostas
Olá alpharagga,
Dificilmente se faz necessário iterar uma lista de objetos “na mão” para renderizar algo ao usuário com JSF, na maioria dos casos se consegue isso através dos próprios componentes, contudo, tente o componente ui:repeat do Facelets caso você esteja utilizando-o no teu projeto.
https://facelets.dev.java.net/nonav/docs/dev/docbook.html#template-repeat
O que você está tetando fazer exatamente? Talvez possamos chegar a uma solução melhor, ou não 
Cara, um exemplo é esse código, tenho que iterar todo esse trecho no meu JSP, vamos admitir que eu não use ou não possa usar facelets:
<c:forEach items="#{meuManagedBean.produtos}" var="produto">
<li >
<div>
<h:outputLink title="#{produto.titulo}" value="produto.jsf?produtoId=#{produto.id}">
<h:graphicImage value="#{produto.foto.nome}" alt="#{produto.titulo}" />
</h:outputLink>
<br />
<span>Preço:
<b>
<h:outputText value="#{produto.preco}">
<f:convertNumber pattern="R$ ###,##0.00" />
</h:outputText>
</b>
</span>
</div>
<h:outputLink title="#{produto.titulo}" value="produto.jsf?produtoId=#{produto.id}">
<b><h:outputText value="#{produto.titulo}"/></b>
</h:outputLink>
<br />
<a >
<img />
</a>
</li>
</c:forEach>
qual seria a solução ideal neste caso???? sem usar esse forEach ?????
Problema que muitos ja passaram ^^
Bom, JSF não possui tal iteração… Então, você coloca aí um richfaces ou algum outro que tenha o que você quer. Ou você usa JSTL mesmo pra iterar e ainda, se quiser, pode criar um CustomComponent seu para o JSF e usa-lo na página.
Podiam dar uma ajuda aqui sff?