<h:selectOneMenu>

9 respostas
A

PEssoal

Estou usando o <h:selectOneMenu>

Faco toda a minha pesquisa e quando eu vou exibir os dados, nao consigo !
Preciso usar a classe SelectItem para adicionar o meu bean ?

Valew

9 Respostas

T

Ae amigão tem que fazer mais ou menos isso!

<h:selectOneMenu value="#{listPessoa.idModelo}">
      <f:selectItems value="#{listPessoa.modelos}" />
</h:selectOneMenu>

public List<SelectItem> getModelos(){
		List<SelectItem> temp = new ArrayList<SelectItem>();
		temp.add(new SelectItem(1,"Novo"));
		temp.add(new SelectItem(2,"Novo"));
		temp.add(new SelectItem(3,"Novo"));
		temp.add(new SelectItem(4,"Novo"));
		return temp;
}
A

Nao rolou nao !

Tem como eu colocar um array de SelectItem ??

Como ficaria minha jsp ? pq na verdade, eu coloco apenas 1 item, o resto eu nao sei como eu poderia fazer, esta tudo no mesmo bean

A

Resolvido

Mas estou com outra duvida !

Nao estou conseguindo pegar o valor selecionado, esta vindo vazio !
pq ??

danielfns

<h:selectOneMenu value="#{listPessoa.idModelo}" valueChangeListener="#{listPessoa.changeModelo}"> <f:selectItems value="#{listPessoa.modelos}" /> </h:selectOneMenu>

No bean:

public void changeModelo(ValueChangeEvent event){
		idModelo = event.getNewValue().toString());
	}

Tenta isso, ele vai setar sua váriavel no Bean assim que ocorrer uma mudança no combo.

:wink:

A

Valew cara

Meu erro foi que eu nao estava setando o bean corretamente !

Abs

tiagoemerick

marsola2k:
Valew cara

Meu erro foi que eu nao estava setando o bean corretamente !

Abs

O cabra… tem como tu posta aí como que ficou o correto…
to com esse problema tb… =/

vlw

M

Ta morando no Rio Marsola?

R

Olá pessoal, sou novo no forum e no java…dei uma pesquisada mas não achei nada com relação ao meu problema…

Tenho o selectOneMenu funcionando certinho na listagem dos dados (populado do banco de dados)…

&lt;h:selectOneMenu id="Profissao" value="#{entrevistadoBean.entrevistado.profissao}"&gt;
	&lt;f:selectItem itemValue="" itemLabel="Selecione..." /&gt;
	&lt;f:selectItems value="#{entrevistadoBean.listaProfissao}"/&gt;
	&lt;f:converter converterId="converterProfissao"/&gt;
  &lt;/h:selectOneMenu&gt;

Ele me traz a descrição (String) de cada profissão, mas na hora do salvar preciso enviar o código da profissão selecionada e está me retornando o seguinte erro…

“named parameter [value] not of expected type; expected = class java.lang.Integer; but was =java.lang.String”

Segue abaixo a forma que está meu converterProfissao

package conversores;

import javax.faces.component.UIComponent;

import javax.faces.context.FacesContext;

import javax.faces.convert.Converter;

import controle.ProfissaoBean;
import entidades.Profissoes;

public class converterProfissao implements Converter{

public Object getAsObject(FacesContext context, UIComponent component, String value) {

if (value != null) {

//seu método de pesquisa para trazer uma instância de Curso

return ProfissaoBean.findById(new Long(value));

}

return null;

}
public String getAsString(FacesContext context, UIComponent component, Object value) {  
     if (value instanceof Profissoes) {  
         Profissoes profissao = (Profissoes) value;
         String res = Integer.toString(profissao.getProfissao());
         return res;  
     }  
     return null;  
 }

}

Acredito que o erro estaja no meu converter , mas não sei o que pode ser…

SOU INICIANTE, não tirem onda comigo hehehehe…

Forte abraço :roll:

D

danielfns:
<h:selectOneMenu value="#{listPessoa.idModelo}" valueChangeListener="#{listPessoa.changeModelo}"> <f:selectItems value="#{listPessoa.modelos}" /> </h:selectOneMenu>

No bean:

public void changeModelo(ValueChangeEvent event){
		idModelo = event.getNewValue().toString());
	}

Tenta isso, ele vai setar sua váriavel no Bean assim que ocorrer uma mudança no combo.

:wink:

Cara…

Tava tendo uma dor de cabeça danada para atualizar essa variavel do h:selectOneMenu na mudança do valor no listbox, e graças a sua dica isso foi resolvido com o[color=red] idModelo = event.getNewValue().toString());[/color].

Dica showwwww de bola.

Muito obrigado pela ajuda.

Criado 24 de setembro de 2008
Ultima resposta 17 de fev. de 2011
Respostas 9
Participantes 7