[RESOLVIDO] JSF + <ui:repeat> - como pegar o índice da iteração?

2 respostas
adriano_si

Aloha galera… Tenho uma lista que estou iterando dentro de um document .xhtml do Módulo PDF do Seam, esse cara tá com a seguinte estrutura:

<?xml version="1.0" encoding="ISO-8859-1"?>
<p:document xmlns:f="http://java.sun.com/jsf/core"
	        xmlns:ui="http://java.sun.com/jsf/facelets"
			xmlns:p="http://jboss.com/products/seam/pdf"
			xmlns:s="http://jboss.com/products/seam/taglib"
			xmlns:tb="http://totalbanco.com.br/orion"
			orientation="portrait"
			margins="20 20 20 20" 
			title="CÉDULA DE CRÉDITO BANCÁRIO"
			author="Totalbanco"
			creator="Totalbanco"
			fileName="CÉDULA DE CRÉDITO BANCÁRIO "
            xmlns:h="http://java.sun.com/jsf/html">
	
	<p:table columns="1" widthPercentage="100" borderWidth="0" spacingBefore="20">	
                     <ui:repeat var="elemento" value="#{bean.lista}">
	         <p:table columns="2" widthPercentage="100" borderWidth="0" spacingBefore="40">
		<p:cell borderWidth="0">
		    <p:paragraph spacingBefore="10" indentationLeft="10" >
		    	<p:text value="Elemente #{indice}"/> // Tem como pegar esse elemento aqui
		    </p:paragraph>
                                </p:cell>
	</p:table>	
</p:document>

e gostaria de saber (conforme citado no código) se tem como pegar esse índice de cada iteração, para poder exibir uma ordem dentro das células.

Att.

2 Respostas

G

Olá, sim, basta definir seu varStatus e utiliza-lo:

&lt;ui:repeat var="elemento" value="#{bean.lista}" varStatus="status"&gt;
&lt;p:text value="Elemente #{status.index}"/&gt;
&lt;/ui:repeat&gt;
adriano_si

Pow cara… valew mesmo… até tinha na entidade (achei depois) um atributo que retornava a posição do Item na Lista, mas com certeza essa solução ficou bem melhor, afinal não posso garanti que o index retornado na lista será sempre sequencial…

OBRIGADAAASSSOOOOOOO…

Criado 14 de setembro de 2011
Ultima resposta 14 de set. de 2011
Respostas 2
Participantes 2