[Resolvido] Meu selectOneMenu não funciona

1 resposta
tonhaopucc

Fala galera!!
O problema é o seguinte: Estou tentando criar um selectOneMenu que puxa valores do banco mas aparece o seguinte erro na página JSP:
EL expression does not evaluate to expected types for this attribute.

A minha classe está implementada assim:

package controleAcesso;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import javax.faces.model.SelectItem;

import conexaoBD.Conexao;

public class Grupoacesso {
	private int cod_grupo;
	private String descricao;
	private ArrayList<SelectItem> todosGrupos;
	
	public Grupoacesso() {

	}
	
	public  ArrayList<SelectItem> getTodosGrupos(){
		Conexao conexao = new Conexao();
		Connection connection = conexao.getStartConexao();
		ResultSet rs;
		Statement stmt;
		todosGrupos = new ArrayList<SelectItem>();
				
		try		
		{
			StringBuffer sql = new StringBuffer();
			sql.append("select * from grupoacesso");
			stmt = connection.createStatement();
	        rs = stmt.executeQuery(sql.toString());
	        String descricao;
	       	String codigo;
	        while (rs.next())	        	
	        {
	        	codigo = rs.getString("cod_grupo");
	        	descricao = rs.getString("descricao_grupo");
	            todosGrupos.add(new SelectItem((codigo), descricao));	   
	            
	        }			
	        return todosGrupos;   
	     }
        catch (Exception e)
        {
        	System.out.println(e.getMessage());
        	return todosGrupos;
        }	
        
	}
	
	
	public int getCod_grupo() {
		return cod_grupo;
	}

	
	public void setCod_grupo(int cod_grupo) {
		this.cod_grupo = cod_grupo;
	}

	public String getDescricao() {
		return descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}	

}

E no meu selectOneMenu eu coloquei assim:

<h:selectOneMenu value="#{grupoacesso.cod_grupo}" styleClass="campo" style="width: 188px">
<f:selectItem value="#{grupoacesso.todosGrupos}"/>
</h:selectOneMenu>

Na linha do selectItem aparece esse erro no grupoacesso.todosGrupos. Alguem pode me ajudar?

Agradeço a ajuda.

1 Resposta

tonhaopucc

Galera consegui fazer o meu selectOneMenu funcionar. Segue a correção abaixo:

<h:selectOneMenu value="#{usuario.cod_grupo}" styleClass="edit" style="height: 27px; width: 219px">
<f:selectItems value="#{grupoacesso.todosGrupos}"/>
</h:selectOneMenu>

A unica diferença é o selectItem do selectItems, pois o selectItem pega apenas um valor e o selectItems pega o array de valores.

Valeu ate a próxima.

Criado 1 de junho de 2008
Ultima resposta 5 de jun. de 2008
Respostas 1
Participantes 1