Problemas com combobox

8 respostas
dahenz

Pessoal… estou buscando dados de um banco e populando um combobox no meu jsp, mas aparece apenas o ultimo registro da minha consulta várias vezes…

Alguem pode me ajudar???

Obrigado

8 Respostas

O

Vou dizer o que geralmente está sendo colocado no segundo post: “Explique melhor” e “Coloque o código”.

dahenz

Minha consulta deve trazer quatro registros como segue:

REGIAO NORTE
REGIAO SUL
REGIAO LESTE
REGIAO OESTE

Fiz uma action no struts que executa essa consulta, popula um list e abre minha pagina principal com o combo já populado tambem.

Acontece que no combo aparece como segue:

REGIAO OESTE
REGIAO OESTE
REGIAO OESTE
REGIAO OESTE

Segue o codigo do jsp:

<s:select label="Região" 
           		  	 name="regiao" 
           			 headerValue="   -------- Seleção --------   "	           			     
           			 headerKey="1"	 	           			              			    
                     list="regioes"
                     listKey="codigo"
                     listValue="descricao"/>

segue a select da action:

select codigo, descricao from regiao

Obrigado!

T

Vc pode usar JSTL ficaria algo parecido com o codigo abaixo mas vc colocaria na combobox

obs : ${dao.lista} esta chamando o metodo getLista da classe ContatosDao este metodo é quem faz a select no banco de dados

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<jsp:useBean id="dao" class="br.com.teste.jdbc.dao.ContatosDao"/>

<c:forEach var="contato" items="${dao.lista}">
      <li>${contato.nome}, ${contato.email}: ${contato.endereco}</li>
</c:forEach>
dahenz

Eu pensei em fazer dessa forma, mas se fizer, fujo dos padrões…

joaorafael

Vc está trabalhando com Struts2?

dahenz

:smiley: Sim… desculpa nao ter escrito isso antes… alguma idéia… nao estou conseguindo aqui!!! Valew

joaorafael

Na tua action, o metodo que retorna a lista de regioes esta como getRegioes?
A tua classe Regioes tem os atributos, codigo e descricao?

se estiver é para funcionar senao me passe o exmplo de como esta a tua action com este metodo. a tua classe Regioes.

vanilton.coelho

Cara, esse erro de repetir o ultimo registro tem cara de referência, no momento que vc faz a iteração vc deve estar utilizando o mesmo objeto, você deve somente estar instanciando o objeto fora da iteração e obtendo ele dentro da iteração:

tente alterar esse metodo fazendo o seguinte:

somente declare fora da iteração e instancie dentro da iteração. Deve resolver seu problema.

até mais.

Criado 1 de agosto de 2008
Ultima resposta 4 de ago. de 2008
Respostas 8
Participantes 5