Como posso adicionar mensagens de rostos durante @PostConstruct
No método @PostConstruct do bean de apoio, faço uma chamada para um EJB que pode retornar algumas mensagens que desejo exibir na página via p: messages. No entanto, mesmo se eu adicionar o FacesMessages, por exemplo FacesContext.getCurrentInstance (). AddMessage (...), p: messages não está sendo atualizado com o FacesMessages.
Se, em vez disso, eu invocar a chamada para o EJB em uma ação da página (digamos que um usuário clica em um botão na página que invoca um método que chama o EJB e adiciona a (s) FacesMessage (s)), os messags aparecem usando p : mensagens como esperado.
Como adiciono mensagens de faces durante @PostConstruct e faço com que elas apareçam quando a página é renderizada inicialmente?
Código:
Page1Controller.java:
<code>@ManagedBean public class Page1Controller { @PostConstruct public void init() { FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Test Message from @PostConstruct")); } public String getValue() { return "Some Value"; } public void triggerMessage(ActionEvent event) { FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Test Message from Trigger Button")); } } </code>
page1.xhtml
<code> <h:form> <p:messages showDetail="true" showSummary="true" autoUpdate="true"/> <h:outputText value="#{page1Controller.value}"/> <br/> <p:commandButton value="Trigger Message" actionListener="#{page1Controller.triggerMessage}"/> </h:form> </code>