Menu

quarta-feira, 23 de maio de 2012

Adicionar faces message por @postConstruct no JSF

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 :