Dúvida no jsp

2 respostas
miltonjr27

Opa, galera. Estou aqui novamente pra pedir ajuda de vocês. Preciso listar em uma tabela no jsp com o número de objetos(problemas) existentes em uma lista que o usuario tem. O problema é que eu pego uma lista de usuarios no jsp e cada usuário tem uma lista de objetos que ele carrega e eu preciso pegar o número de objetos que cada usuário tem e mostrar numa tabela e mostrar quem está em primeiro, segundo e terceiro lugar, mostrando assim uma medalha para cada, pelo número de problemas e se estiver 2 ou mais com o mesmo número de problemas eles ficariam na mesma posição.
Isso é um problema pois no forEach do usuarioList não sei como pegar essa informação e não sei como fazer pra interar uma variável junto com o forEach.

minha jsp:

<table width="750">
	<thead >
		<tr>
			
			<th>Nome do Usuário</th>
			<th>Problemas Resolvidos</th>
			<th>Medalha:</th>
			
		</tr>
	</thead>
	<tbody>
		
		<c:forEach items="${userList}" var="user">
			
			<tr>
				
				<td><a href="<c:url value="/users/view/${user.id }" />">${user.name }</a></td>
				
				<--! O problema seria como mostrar aqui o número de objetos (Problemas) resolvidos e com esse número de problemas saber quem tem medalha de ouro, prata e bronze.  -->
				<td>${NumeroDeObjetos }</td>
				<td></td>
			</tr>
		</c:forEach>
	</tbody>
</table>

PS. a lista de usuários já vem ordenada, por número de objetos na lista de objetos, do controller.

2 Respostas

leocantanhede

NumeroDeObjetos é a lista, se for você poderia criar uma nova variável do tipo int na classe usuário, por exemplo contadorDeObejtos e passar como valor numeroDeObjetos.size(), ai quando for fazer a listagem para exibição ${user.contadorDeObjetos}

miltonjr27

Opa leocantanhede, isso eu pensei também só que eu não quero armazenar essa informação pois a lista de objetos aumenta frequentemente. Eu encontrei uma outra solução aqui criando uma classe para armazenar esses dados, até por que eu precisarei guardar essa informação futuramente. Obrigado pela resposta.

Criado 29 de novembro de 2011
Ultima resposta 29 de nov. de 2011
Respostas 2
Participantes 2