JSF - Como pegar o valor de um select one menu  XML
Índice dos Fóruns » Java Enterprise Edition (Java EE)
Autor Mensagem
venomtotal
Java Ninja
[Avatar]

Membro desde: 24/04/2006 00:09:57
Mensagens: 298
Offline

Pessoal, como faço para pegar o valor selecionado em um componente selec one menu?

Agardeço

Venom
gilliard_santos
JavaGuru
[Avatar]

Membro desde: 02/09/2004 12:35:28
Mensagens: 236
Localização: Campo Grande, MS
Offline



o atributo value vai fazer a ligacao com o atributo do seu managedbean chamando o setSuaPropriedade(...)

espero ter sanado sua duvida.

http://gilliard.eti.br
[WWW]
venomtotal
Java Ninja
[Avatar]

Membro desde: 24/04/2006 00:09:57
Mensagens: 298
Offline

hmm..


não é isso


eu to precisando de um metodo que pegue o valor selecionado

simplificando: Este componente é como um combobox certo?
imagine ele preenchido com as siglas do estado

e imagine que o usuario seleciona "RJ" e clica no botao "processar"
Eu preciso de um metodo que pegue o valor selecionado, neste caso "RJ"
urubatan
Moderador
[Avatar]

Membro desde: 21/09/2002 10:31:26
Mensagens: 2481
Localização: Porto Alegre/RS
Offline

é exatamente isto que o exemplo que foi mostrado faz ...
o valor selecionado vai aparece na propriedade configurada ...

[]'s
Rodrigo Urubatan
http://www.urubatan.com.br
Melhor livro de RoR do brasil: http://livro.urubatan.com.br
[WWW]
zetamayossi
Debugger
[Avatar]

Membro desde: 19/12/2006 16:41:40
Mensagens: 69
Localização: Brasilia / DF
Offline

Acho q entendi qual q tah sendo o teu problema...

Vc quer por exemplo, escolher uma opcao dentre varias de um componente, certo?!

Entao eh exatamente o que o camarada acima fez...

A unica coisa que vc tem que ter em mente, e q parece q nao tá muito claro, é que pra cada atributo de um managed bean, caso alguma de suas propriedades esteja setada na página, o set e o get dessa propriedade é chamado automaticamente pelo faces.

Ou seja, se vc colocar uma variavel como value de um componente como o 'selectOneMenu' e alguns itens com valores, logo o selecionado vai ser o setado na propriedade do menu. Vai ser chamado o setPropriedade(itemSelecionado).

Vc possui duas maneiras de fazer isso. Ou vc pode faze-los fixos, caso nao aja necessidade de alteração. Ou vc pode fazer com que os valores (no exemplo abaixo foram usados estados) sejam dinamicos, ou seja, venha de um banco de dados.

Pro primeiro caso: (exemplo de selecionar estados fixos)



Pro segundo caso: (mesmo exemplo mas dinamico)

Vc pode representar os itens do selectOneMenu no managedBean. Para cada item que voce quiser, voce deve instanciar um SelectItem (javax.faces.model.SelectItem), colocar o seu label e value (que podem vir do db, por exemplo os estados) e adiciona-lo a uma collection, por exemplo um ArrayList.
Quando vc setar essa collection contendo SelectItems no value do <f:selectItems> do menu na pagina, logo o faces montará seu menu de acordo com os items contidos na collection do bean.

Dai serve o exemplo do camarada acima...



Onde sigla vai ser o valor selecionado.
Onde items é a collection<SelectItem> vinda do managed bean.

Vlw!

Vlw...
Zé Tamayossi

Ride the waves to glory!!!
[MSN]
gilliard_santos
JavaGuru
[Avatar]

Membro desde: 02/09/2004 12:35:28
Mensagens: 236
Localização: Campo Grande, MS
Offline

é isso aí, agora acho que está bem explicado. acabei sendo simplista demais na minha resposta.

vlw!

http://gilliard.eti.br
[WWW]
leandro.ferreira
What is classpath?

Membro desde: 19/01/2005 18:07:37
Mensagens: 8
Localização: Leandro Ferreira
Offline

Pessoal,

E qdo o value do selectOneMenu é um atributo de tipo Long, como devo proceder?

Pergunto isto pois não estou conseguindo fazer o submite da pagina pois este atributo value está como tipo Long, mas se boto um string qq ele funciona, o problema é q ai não resolve meu problema pois preciso usar este codigo de tipo Long para realizar a pesquisa.

Estou dando manutenção em um código e até agora este tem sido meu carma por quase 2 dias.

Obrigado desde já por qq ajuda.

Leandro Ferreira
Técnico em Processamento de Dados
Florianópolis - SC - Brasil
[Email] [MSN] [ICQ]
Giulliano
GUJ Master
[Avatar]

Membro desde: 14/11/2006 19:29:38
Mensagens: 1627
Localização: São Paulo
Offline

as vezes pode ser incompatibilidade do componente...dái vc precisaria passar como String para o JSF e recuperar como String também....

feito isso use um String valor = String.valueOf(valorLong);

acho q resolveria...


[/]'s

Oracle Certified Master, Java EE 5 Enterprise Architect
Oracle Certified Professional Java Programmer
GiuLLianO MoRRoNi




<UnTouChAbLe>
[Email] [WWW] [MSN]
braian
Thread.start()
[Avatar]

Membro desde: 18/04/2009 17:44:37
Mensagens: 45
Offline

Também estou com a mesma dúvida, alguém pode me ajudar?
Estou passando um Array de Objetos para o selectItems e preciso pegar apenas um valor (Long 'id') do Array de Objetos...

Como faço isso, preciso fazer alguma conversão?

Em busca de conhecimento...
[MSN]
juniorsatanas
GUJ Master
[Avatar]

Membro desde: 20/05/2007 01:08:24
Mensagens: 1864
Localização: web2ajax@gmail.com
Offline

?

Cheque Mate em 6
[WWW] [Yahoo!] aim icon [MSN] [ICQ]
ViniMunhoz
Thread.start()
[Avatar]

Membro desde: 24/08/2008 17:21:09
Mensagens: 29
Offline

Boa tarde!

Estou com este problema também, mas no meu caso eu tenho o seguinte:




o states é um List<SelectItem>

e ele da o seguinte erro:
javax.el.ELException: /pages/main.xhtml @19,51 value="#{statesBean.states}": Error reading 'states' on type br.com.imobiliaria.bean.StateBean


Estou apenas começando a estudar isso provavelmente o erro é simples mas já estou a boas horas buscando pela solução


Obrigado desde já

Veni, vidi, vici
[MSN]
juniorsatanas
GUJ Master
[Avatar]

Membro desde: 20/05/2007 01:08:24
Mensagens: 1864
Localização: web2ajax@gmail.com
Offline

?

Cheque Mate em 6
[WWW] [Yahoo!] aim icon [MSN] [ICQ]
andremenha
Smalltalk

Membro desde: 07/10/2010 12:45:13
Mensagens: 2
Offline

Pessoal tudo bem?

sou novo no forum e em java, estou tendo um problema semelhante, o problema e o seguinte, tenho o codigo do selectOneMenu abaixo.


Preciso pegar o valor selecionado e passar para o persist do hibernate gravar no banco, porem nao consigo passar este valor.

nao sei se fui claro.

Obrigado
[MSN]
Priuli
JavaEvangelist
[Avatar]

Membro desde: 27/12/2007 19:31:45
Mensagens: 373
Offline

Se você quiser passar um objeto que não seja primitivo é necessario criar um converter..

Projetos:
OpenSutils-Br4J - http://code.google.com/p/opensutils-br4j/

Priuli-Filter - http://sourceforge.net/projects/priuli-filter/

Certificação:
OCPJ 6 90%
[Email]
juniorsatanas
GUJ Master
[Avatar]

Membro desde: 20/05/2007 01:08:24
Mensagens: 1864
Localização: web2ajax@gmail.com
Offline

Mostra um exemplo ai mano !

Cheque Mate em 6
[WWW] [Yahoo!] aim icon [MSN] [ICQ]
 
Índice dos Fóruns » Java Enterprise Edition (Java EE)
Ir para:   
Powered by JForum 2.1.8 © JForum Team