Popular selectOneMenu com classe enum

20/01/2018

0

Fala Galera parece uma coisa boba mas to me batendo muito para fazer, não estou conseguindo Popular um selectOneMenu com os valores de um enum segue meus códigos
Enum:
package com.objetiva.pesquisa.models;

public enum Estados {

AC, AL, AP, AM, BA, CE, DF, ES, GO, MA, MT, MS, MG, PA, PB, PR, PE, PI, RJ, RN, RS, RO,RR, SC, SP, SE, TO,

}

Bean:
@ManagedBean
@ViewScoped
public class CidadeBean {

private Cidade cidade = new Cidade();

private CidadeDAO dao = new CidadeDAO();

public Estados[] estados;










public Estados[] getEstados() {
return Estados.values();
}

public void setEstados() {
this.estados = Estados.values();
}

public List<Cidade> listarTodos() throws Exception{
List<Cidade>cidades = dao.listarTodos();
return cidades;


}

public Cidade selecionar(long id) throws Exception {
cidade = dao.selecionar(id);
return cidade;
}

public void inserir() throws Exception {
if(cidade != null)
dao.inserir(cidade);
else
throw new Exception();
}

public void atualizar() throws Exception {
dao.atualizar(cidade);
}

public void excluir() throws Exception {

dao.excluir(cidade.getIdCidade());
}

public Cidade getCidade() {
return cidade;
}



public void setCidade(Cidade cidade) {
this.cidade = cidade;
}

}

View:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:composite="http://java.sun.com/jsf/composite"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title>Inserir Cidade</title>
</h:head>
<h:body>
<h:form>
<p:panelGrid>
<p:outputLabel value="Cidade" />
<p:inputText value="#{cidadeBean.cidade.nome}" />
<br />
<p:outputLabel value="Estado" />
<p:selectOneMenu value="#{cidadeBean.cidade.uf}" id="estados">
<f:selectItem value="#{cidadeBean.estados}" />
</p:selectOneMenu>

</p:panelGrid>
</h:form>
</h:body>

</html>

Quem poderia dar uma força aí: ta retornando o seguinte erro:
java.lang.ClassCastException: [Lcom.objetiva.pesquisa.models.Estados; cannot be cast to javax.faces.model.SelectItem
Allan Gaspar

Allan Gaspar

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar