Duvida com selectitems Jsf

6 respostas
L

Ola bom dia a tds estou com a seguinte duvida, tenho um metodo que carrega tds cidades do BD em uma determina pg jsf
só que eu tenho que passar para o metodo salvar uma cidade e nao o codigo e a descricao que eu utilizei para preencrer a lista como posso fazer isto? segue o codigo :
metodo que prenche selectitem

private  List<SelectItem> getLista() throws Exception {          
	             List<SelectItem> lista = new LinkedList<SelectItem>();                   
	              Uf uf;      
	              IdaoEstado idao = new DaoEstado();        
	              List<Uf> resultado = (List<Uf>) idao.todosEstados();            
	               for(Uf teste : resultado){            
	                          
	                 SelectItem item = new SelectItem(teste.getCodigoUf(), teste.getSigla());      
	                 lista.add(item);          
	                      
	              }          
	            return lista;          
	   }

na pagina jsf o selectOneMenu:

<h:selectOneMenu value="#{estado.uf.cidade.changeValue}" style=" width : 141px;">    
           <f:selectItems value="#{contato.lista}"/>    
           </h:selectOneMenu>

se alguem puder ajudar de alguma maneira fico grato, T+

6 Respostas

E

bom Dia igWeb…

voce poderia postar a sua clase dao onde vc popula o Resultset !!!

L

E o seguinte amigo tenho um selectItems que recebe uma colecao de estados do Bd, até ai blz ele popula o selectOnemenu numa boa so que na hora de salvar eu preciso passar um estado para a classe cidade pois aew tem um relacionamento OneToMany com estado , so que meu SelectOneMenu e carregado com o codigo e a sigla do estado, gostaria de saber se da para carregar um objeto estado em um selectItem ou na hora de salvar no banco eu busco um objeto estado de acordo com o estado selecionado pelo usuario e carrego e adiono a minha propriedade estado em Cidade, isso parece confuso, alguem pode ajudar?
Estou usando hibernate Annotations.

L

entaum alguem tem uma dica?

L

ninguem :cry:

rdantas

no value do selectOneMenu faça a atribuição para um atributo no seu bean que corresponde ao estado.

Leozin

Você tem que ter consciência que você não vai passar a cidade e sim somente o value do teu comboBox (que nesse caso é o codigoUF)

De duas uma: Ou você cria um converter (que pode ser que funcione exatamente como você quer) ou tu bota numa propriedade do teu backing bean que é o ID do teu estado, faz uma busca e depois um set na tua classe, antes de chamar o dao pra salvar =)

abraço

Criado 12 de fevereiro de 2008
Ultima resposta 13 de fev. de 2008
Respostas 6
Participantes 4