Java 6 - Não consigo imprimir dados do Banco usando Datatable/ListDataModel

Pelo que eu vi, você está querendo iterar sobre o ArrayList itens, mas em nenhum momento você chama o método prepararPesquisa para popular a lista

EDIT:
Dependendo da versão que você estiver utilizando, não é mais necessário utilizar um ListDataModel, apenas uma coleção qualquer ja da certo para a datatable

Olá Mike, boa tarde. Entendi o que vc quis dizer.

No meu arquivo xhtml, chamo o FornecedoresBean através do value="#{MBFornecedores.itens}", pois o meu MangedBean é MBFornecedores. E itens, recebe dentro de prepararPesquisa() minha “lista”.

Você sabe o que eu posso fazer?

Muito obrigada pela ajuda…

Só que em nenhum momento você chama o método prepararPesquisa()

Copia o método abaixo

@PostConstruct
public void init() {
    prepararPesquisa();
}

A anotação @PostConstruct faz com que o método anotado seja executado assim que o bean for criado

A anotação @PostConstruct é para que os dados na listagem sejam atualizados sem que haja a necessidade de um refresh ou ação do usuário. Quando eu entro na página fornecedores.xhtml, não preciso ter mais nenhuma ação. Ele já vai listar para mim os fornecedores.

No vídeo do professor, que até agora não me respondeu, ele não chama o prepararPesquisa(). Como eu posso chamar este método no xhtml?

Mais uma vez, muito obrigada por me ajudar :relaxed:

Errado!
A Anotação @PostConstruct serve para executar um método quando o bean for criado
Se o seu bean é ViewScoped, ele será criado toda vez que você acessar uma nova página que referencia esse bean e será destruído toda vez que você fizer um outcome(navegação) para uma outra página ou até para a mesma mas executando um redirect.

Anota o método com @PostConstruct e coloca o método de prepararPesquisa dentro do método anotado, assim quando o bean for criado, a sua lista vai ser populada, pois dentro do método prepararPesquisa você popula a sua lista.
Igualzinho como eu postei

Olá Mike,

Mas esta anotação @PostConstruct está justamente no método prepararPesquisa(). Você quer que eu chame o método prepararPesquisa() onde?

Pessoal, consegui resolver.

Continuei pesquisando e no arquivo xhtml, na tag <p:dataTable emptyMessage=“Nenhum registro encontrado.” value="#{MBFornecedores.itens}" var=“item” ajax=“false”> eu coloquei:

ajax=“false”

e FUNCIONOU!!!

Meninos, a todos que me ajudaram, muito obrigada!!! Estou aprendendo ainda, com certeza mais adiante precisarei de mais ajuda de vocês…

Poderei dar continuidade aos meus estudos.

Boa tarde a todos!!!

1 curtida

Na sua print não esta

Verdade, no print não estava, mas acrescentei. Mas graças a Deus está funcionando. Muito obrigada a cada um que gastou seu tempo para me ajudar.

:kissing_closed_eyes:

1 curtida

Foi o @PostConstruct que fez funcionar, a datatable não possui o atributo ajax
:+1:

1 curtida