Sem ver seu código, fica difícil determinar com certeza qual seja o problema. Mas me parece que você está usando um tipo de retorno ilegal para o atributo ‘value’ da sua h:dataTable.
O que retorna a expressão do seu atributo “value”? Precisa ser a chamada de um método (normalmente get()) que retorne uma List de objetos que queria renderizar. Existem outros retornos aceitáveis, como Map eu acho, e talvez vetores (não tenho certeza agora, de cabeça). Mas Set e derivados não servem.
Rodrigo
edvaldo.santiago
Bom estou passando o seguinte:
private List listas;
publicListgetListas(){
returnlistas;
}
public void setListas(List listas) {
this.listas = listas;
}
publicStringlistaUser()throwsSQLException{Stringresult_lista=FALHA_LISTA;try{stm=getConn().createStatement();rs=stm.executeQuery("SELECT * FROM pessoa ");listas=newArrayList();while(rs.next()){AgendaDBagenda=newAgendaDB();agenda.nome=rs.getString(1);agenda.endereco=rs.getString(2);agenda.cidade=rs.getString(3);agenda.telefone=rs.getString(4);listas.add(agenda);}result_lista=SUCESSO_LISTA;}catch(SQLExceptione){System.err.println("Erro: "+e);}rs.close();stm.close();returnresult_lista;}
Esse é todo o código da página? Se sim, está faltando colocar isso dentro de <f:view> … </f:view>.
Se não for, e você só postou a parte relevante, então AgendaDB tem que ter um método get() e set() para cada uma de suas propriedades - que devem ser de acesso privado. Em outras palavras, ela tem de ser um JavaBean. Embora não seja essa a razão do erro, creio eu.
Putz, eu passei por isso faz pouco tempo, mas eu não consigo lembrar o que era… Como vc chama esta action, listaUsers() …?
edvaldo.santiago
Cara valeu…
Muito obrigado pela atenção … agora funcionou…
Valeu.
kurama
Olá, eu estou tendo um problema parecido…
A codificação do meu Managed Bean está da seguinte forma:
O que está acontecendo eh que não está sendo listado os idiomas… não ocorre erro mas simplesmente nao lista. Minha é duvida é a seguinte, quando eu atribuo h:dataTable value="#{idiomaBean.idiomas}" a função listaIdiomas é chamado? Porque eu fiz a mesma coisa só que colocando essa função (listaIdiomas) dentro do construtor, ai funcionou… Mas ja vi exemplos em que é usado dessa forma que apresentei e funciona.
Bom espero que tenham entendido =)