Carregar como com dados do campo. [RESOLVIDO]

0 respostas
anderson.bonavides

Pessoal, to com o seguinte problema, to tentando listar dados do banco em um SelectItems.
Vejam como ficou meu código:

TELA:

<h:outputText value="Tipo: " />
                        <h:selectOneListbox id="tipo_equipamento" value="#{mbEquipamentos.tipoEquipamento}" >
				<f:selectItems value="#{mbEquipamentos.listaEquipamentos}"/>  
                        </h:selectOneListbox>

MANAGED BEAN:

private SelectItem[] listaEquipamentos;        


   public SelectItem[] getListaEquipamentos() {                

        Collection<Equipamento> todosEquipamentos = null;
        try {
            todosEquipamentos = Facade.getInstance().listarEquipamentos();                        
        } catch (SQLException ex) {
            ex.printStackTrace();
        }        
     
        SelectItem[] equipamentos = new SelectItem[todosEquipamentos.size()];        
        int i=0;
        for(Equipamento e : todosEquipamentos){
            equipamentos[i] = new SelectItem(String.valueOf(e.getCodigoEquipamento()), e.getTipoEquipamento());
            i++;                        
        }                                
        
       return equipamentos;
    }
E O MÉTODO QUE FAZ A CONSULTA:
public Collection<Equipamento> listarEquipamentos() throws SQLException {
        //conecta com o banco de dados
        EntityManager em = getEntityManager();
        //cria uma coleção de objetos
        Collection<Equipamento> equipamentos = null;
        
        try {
            //cria a query para listar os registros
            equipamentos = (Collection) em.createNamedQuery("Equipamento.find").getResultList();
        } catch (Exception e) {
            //se der erro, faz um rollback
            em.getTransaction().rollback();
        }finally{
            //libera os recursos
            em.close();
        }
        return equipamentos;
    }

Se alguém poder ajudar fico muito grato.

Criado 6 de agosto de 2008
Respostas 0
Participantes 1