Popular um selectOneMenu com objetos no valor

1 resposta
P

Boa noite pessoal! Este é meu primeiro post aqui!
Estou com um problema para pegar o valor de um selectOneMenu no jsf.
Para construir os SelectItem eu botei o nome da cidade de label e de valor o proprio objeto.
até ai tudo bem, funciona, mostra certinho na tela.

private ArrayList construirListaCidades() { ArrayList lista = new ArrayList(); Banco banco = null; Cidade cidade; ObjectSet resultado = Banco.getObjectContainer().get(Cidade.class); while(resultado.hasNext()) { cidade = (Cidade)resultado.next(); SelectItem item = new SelectItem(cidade, cidade.getNome()); lista.add(item); } return lista; }

O valor no codigo fonte html fica mais ou menos assim:

<option value="modelo.Cidade@7da122">São Paulo</option> <option value="modelo.Cidade@1ddbf6e">Blumenau</option> <option value="modelo.Cidade@6d5af1">Porto Alegre</option>

O que eu acho que é um valor para referencia do objeto…

no jsf eu botei assim:

<h:selectOneMenu binding="#{bairro$cadBairro.cidade}" id="cidade" style="left: 12px; top: 12px; position: absolute"> <f:selectItems binding="#{bairro$cadBairro.variosItens}" id="variosItens" value="#{bairro$cadBairro.listaCidades}"/> </h:selectOneMenu>

O problema está quando eu quero recuperar a cidade que foi selecionada, por exemplo eu to fazendo um cadastro de bairros e tem que selecionar a cidade pois na classe Bairro tem um atributo cidade do tipo Cidade. Então eu botei o proprio objeto cidade de valor no selectItem.
A diferença entre os códigos que eu andei pesquisando no google e o meu é que no meu eu não tenho nenhum atributo identificador para os objetos, como por exemplo chave, código, id, etc… Essa chave é usada em todos os outros casos.
Eu andei achando alguma coisa que diz que tenho que usar um conversor personalizado, mas eu não sei como acessar a lista de cidades através desse conversor… Tem a ver com o FacesContext?
O que significa esse código esquisito: “modelo.Cidade@1ddbf6e”?
Como eu converto ele para o objeto original no bean?

Muito Obrigao
Pedro

1 Resposta

henrique_ganso

O amigo, beleza,

faz tempo esse post, então estou com esse problema para gravar um cadastro de cidade que tem um selectonemenu com estados, voce pode me ajudar?

Criado 15 de outubro de 2007
Ultima resposta 9 de mai. de 2012
Respostas 1
Participantes 2