Olá.
Estou tentando listar thumbnails num panelGrid em 4 colunas por X linhas, sequencialmente.
Ex.
Foto 1 | Foto 2 | Foto 3 | Foto 4
Foto 5 | Foto 6
Tentei da seguinte forma:
<h:panelGrid id="gridFotos" columns="4" border="1" cellpadding="0" cellspacing="2">
<ui:repeat value="#{consultdocsfotosmb.fotosBytes}" var="foto">
<h:column >
<a4j:mediaOutput element="img" cacheable="false" session="false" createContent="#{consultdocsfotosmb.getThumb}" value="#{foto.id}" mimeType="image/jpeg"/>
</h:column>
</ui:repeat>
</h:panelGrid>
Mas todas as fotos sao renderizadas dentro da mesma <tr>. Li que ui:repeat não funciona nesse caso, e que um c:forEach resolveria.
Entao tentei:
<h:panelGrid columns="3">
<c:forEach items="#{consultdocsfotosmb.fotosBytes}" var="foto">
<h:column >
<a4j:mediaOutput element="img" cacheable="false" session="false" createContent="#{consultdocsfotosmb.getThumb}" value="#{foto.id}" mimeType="image/jpeg"/>
</h:column>
</c:forEach>
</h:panelGrid>
Mas isso renderiza o seguinte:
<table>
<tbody>
<tr>
<td>
<c:foreach var="foto" items="[com.porto.sinistrore.regulacao.util.Imagem@39173917, com.porto.sinistrore.regulacao.util.Imagem@2b172b17, com.porto.sinistrore.regulacao.util.Imagem@1a801a80, com.porto.sinistrore.regulacao.util.Imagem@28d428d4, com.porto.sinistrore.regulacao.util.Imagem@30ab30ab, com.porto.sinistrore.regulacao.util.Imagem@3cb03cb0, com.porto.sinistrore.regulacao.util.Imagem@42be42be, com.porto.sinistrore.regulacao.util.Imagem@607b607b, com.porto.sinistrore.regulacao.util.Imagem@14371437]"></c:foreach>
</td>
<td>
<img >
</td>
<td> </td>
</tr>
</tbody>
</table>
Ou seja, não funciona.
Estou fazendo algo de errado?
Há outra forma de fazer isso acontecer mais facilmente?
Obrigado.