Um problema que eu vinha tendo em minhas páginas é que muitas vezes adiciono mensagens para o usuário durante a construção do managed bean (método anotado com @postConstruct). Ao mesmo tempo, coloco minhas mensagens para serem exibidas no topo da página.
A questão é que as mensagens simplesmente nunca apareciam. A explicação para isso é que o p:messages (ou h:messages) era renderizado antes do bean começar a ser construído e da mensagem ser adicionada.
A solução para mim foi referenciar alguma propriedade qualquer do bean antes do p:messages, como demonstrado abaixo:
<h:outputText rendered="#{not empty bean.lista}" /> <p:messages />
Desse modo o managed bean é construído antes que o p:messages seja renderizado e as mensagens são exibidas corretamente.
Nenhum comentário :