Como usar corretamente o selectOneMenu:

2 respostas
F

Olá pessoal!

Aqui estou eu mais uma vez fazendo perguntas elementares. Mas, peço paciência a todos por minha imaturidade em JSF. Mas, vamos lá. Quero preencher um selectOneMenu. Vejam o meu código:

JSF:

<h:selectOneMenu value="#{programaView.programa.cogestor}" id=“gestor”>
<f:selectItem itemLabel="(Pessoal do GUJ é TAMPA!!!)" itemValue=""/>
<f:selectItems value="#{programaView.listaGestor}"/>
</h:selectOneMenu>

BEAN:

[b] public List getListaGestor() throws SiconDAOException {
InterfaceGestorDAO idao = new GestorDAO();

List<Gestor> list = new ArrayList<Gestor>();
    list = idao.listaPorNome("");              
    
    for(Gestor a:list)
    {          
      System.out.println("Código..: " + a.getCogestor()); 
      System.out.println("Nome....: " + a.getNogestor());                               
    }
    
    return list;
}[/b]

Erro que tá dando quando tento abrir a página que carrega o selectOneMenu:
sicon.pojo.Gestor cannot be cast to javax.faces.model.SelectItem

Eu coloquei os “System.out.println” para ver se estava dando erro no método, mas não está: carrega direitinho o List.

Faz mais de hora que quebro a cabeça com isso.

Alguém pode me dar um help?

Desde já agradeço.

2 Respostas

CintiaDR

Fiz assim, ó (mais fácil copiar o código)

public List&lt;SelectItem&gt; getSelectGrupos() {
		List&lt;SelectItem&gt; lista = new ArrayList&lt;SelectItem&gt;();
		lista.add(new SelectItem("", ""));
		List&lt;GrupoProduto&gt; grupos = new GrupoDelegate().listarGruposProduto();
		for (GrupoProduto g : grupos) {
			lista.add(new SelectItem(g.getId(), g.getNome()));
		}
		return lista;
	}
&lt;h:selectOneMenu disabled="#{novaLinhaBean.exibir}"
  value="#{novaLinhaBean.idGrupo}"&gt;
	&lt;f:selectItems value="#{novaLinhaBean.selectGrupos}" /&gt;
&lt;/h:selectOneMenu&gt;
F

Oi, Cintia.

Perfeito, perfeito!!! Funcionou beleza!!!

Brigadão!!!

Criado 30 de abril de 2008
Ultima resposta 1 de mai. de 2008
Respostas 2
Participantes 2