Estou fazendo uma aplicação e queria fazer um array no meu ManagedBean para ele pegar os dados de uma tabela do banco de dados e me retornar. Eu fiz um array mas ele pegava os dados do Enum, e agora estou tentando ir para o banco de dados e estou com dificuldades.
Alguém ai tem alguma dica ou algum lugar que explica como fazer este array ?
Procurei na net aqui para ver se alguém tinha problema parecido com o meu, achei vários, mas nenhum resolvido.
Acredito q no seu caso seria melhor utilizar uma classe como ArrayList, já q vc vai precisar de um array dinâmico, se precisar de mais detalhes em como fazer posta a parte do seu código q vc está com dúvidas p/ poder te ajudar melhor.
Eu imagino que vc quer popular um ArrayList, a partir de dados do banco…
Pra isso vc tem que fazer um select (hql, jpq, criteria) e jogar o result dele pro seu List
Detalhes: mas isso não é na camada de UI, e sim mais abaixo (repository)
Sim, quero popular um ArrayList a partir do banco de dados.
A parte que eu fiz com Enum funcionou 100%
Mas a parte popular ele com o banco não deu, não estou conseguindo criar o array.
ImovelBean(Este está funcionando 100 %):
...//codigo acima
public List<SelectItem> getTiposImovel(){
List<SelectItem> resultado = new ArrayList<SelectItem>();
for(EnumTipoImovel tipo : EnumTipoImovel.values()){
resultado.add(new SelectItem(tipo, tipo.toString()));
}
return resultado;
}
//codigo abaixo
Estou com duvidas aqui. Não consigo fazer o meu for para poder a aplicação fazer o loop
ResidencialBean:
...//Codigo acima
public List<SelectItem> getNomeResidencial(){
List<SelectItem> resultado = new ArrayList<SelectItem>();
for(Residencial nome : Residencial.values() ){
resultado.add(new SelectItem(nome, nome.toString()));
}
return resultado;
}
..//codigo abaixo
Lembrando que o meu for acima está retornando erro: The method values() is undefined for the type Residencial.
Eu tentei colocar com iterator, mas também dá erro.
O erro ocorre pq não existe o método “values()” dentro da classe “Residencial”. Como vc está efetuando a consulta no banco? E como está a classe Residencial?
O que eu estava com erro consegui resolver, agora tenho um outro problema.
O meu ResidencialBean ficou assim:
public List<SelectItem> getNomeResidencial() throws SiteException {
List<SelectItem> resultado = new ArrayList<SelectItem>();
for(Residencial nome : residencialDao.listNomeResidencial() ){
resultado.add(new SelectItem(nome, nome.toString()));
}
return resultado;
}
Meu novo problema:
Quando eu altero o meu for que citei acima para apenas listResidencial, aparece em forma de código na web, pelo o que percebi é porque ele me retorna um int em forma de string. Agora quando está como eu postei acima o meu selectOneMenu não entra neste método.
Bom, se eu colocar o meu f:selectItems desta maneira:
Ele faz TUDO, retorna tudo certinho, mas a página apenas me mostra este erro:
[code]exception
javax.servlet.ServletException: java.lang.String cannot be cast to modelo.Residencial
javax.faces.webapp.FacesServlet.service(FacesServlet.java:347)
org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)
root cause