Dê uma olhada em f:metadata e em preRenderView, acho que é o caso.
G
guilhermebhte
Testei este também, o problema é que sempre este método inicializar() é executado após o que o fluxo tem que fazer.
Por exemplo, chamo uma busca para constuir um h:panelGrid,
os passos são:
1º entra no método que faz a consulta, retornando os dados. Inserindo nas variáveis inicializar;
2º entra no método inicializar();
3º como o método inicializar(), limpa as variáveis, da consulta e a tabela fica vazio.
L
Luis_Augusto_Santos
A anotação @PostConstruct irá indicar ao mecanismo do faces que este método deve ser executado SEMPRE que o construtor da classe que representa o managed bean tenha sido executado.
Isso ocorrerá em toda a requisição, quando o managed bean é @RequestScoped
Se não quer que isso ocorra, você não deve utilizar o @PostConstruct
Como você não está fazendo nenhuma chamada a consultas em bancos de dados ou a recursos que precisam de injeção de dependências dentro do método inicializar, não vejo necessidade em utilizar o @PostConstruct ali.
Explico: Quando você trabalha com JSF e injeção de dependências, a injeção das dependências só ocorre quando o método construtor é executado por completo e finalizado. Isso impediria que você tentasse popular um objeto com o retorno da invocação de um método que é fornecido por um atributo injetado. Logo, se fez necessário criar algo que fosse executado após o construtor e após as dependências terem sido injetadas. Surgiu o @PostConstruct. Em contrapartida, existe o @PreDestroy, que é executado antes do objeto representando o managed bean ser destruído.
Nota: Métodos anotados com @PostConstruct são executados ao termino da inicialização do beam. Construtor e variáveis são inicializadas antes e logo depois chama o método anotado.