JSF - Pegando objeto contido no componente dropdownlist

0 respostas
venomtotal

Bora lá, um combobox(dropdownlist) conterá todos cargos de funcionarios existentes na empresa(Ex: Gerente, vendedor e etc…).

Esta informação é buscada no banco de dados através de uma classe DAO, que retorna um arraylist de objetos CargoT, que tem as seguintes propriedades

private Long id;

   private String desc;

  //gets e sets ficam aqui

   @Override
    public String toString(){
       return desc;
    }

Consegui colocar estes valores dentro do componente, associando este com um objeto Cargosque é do tipo com.sun.webui.jsf.model.Option[], conforme trecho abaixo:

public static Option[] getCargos(){
        
        Option[] opcoes = null;
        
        CargoDAO cargoDAO = new CargoDAO();
        ArrayList <CargoT> cargos = cargoDAO.listaTodos(); //retorna a lista de cargos existentes
                
        if (!(cargos == null)){
                   
           int tam = cargos.size();
                                       
            opcoes = new Option[tam];
           
            for(int i=0;i<tam;i++){                     
               opcoes[i] = new Option(cargos.get(i)); 
           }
        
       }
        
        return opcoes;
    
    }

Funciona a mil maravilhas.

O problema, é que quando o usuario selecionar o cargo, eu preciso pegar o valor do id daquele cargo para fazer uma operação na base de dados. Ou, seja, preciso retirar o objeto CargoT correspondente.

Já tentei usar o método .getSelected() do dropdownlist, onde é retornado um objeto, mas ele não traz CargoT, mas sim um objeto String.

Agradeço qualquer ajuda

Venom

Criado 4 de agosto de 2008
Respostas 0
Participantes 1