Как я могу добавить сообщения Faces во время @PostConstruct
В методе @PostConstruct поддерживающего компонента я вызываю EJB-компонент, который может вернуть некоторые сообщения, которые я хочу отобразить на странице, через p: messages. Тем не менее, даже если я добавлю FacesMessages, например, FacesContext.getCurrentInstance (). AddMessage (...), p: сообщения не обновляются с помощью FacesMessages.
Если я вместо этого вызову вызов EJB для действия со страницы (скажем, пользователь нажимает кнопку на странице, которая вызывает метод, который вызывает EJB, а затем добавляет FacesMessage (s)), тогда сообщения отображаются с помощью p : сообщения, как и ожидалось.
Как добавить сообщения Faces во время @PostConstruct и показать их при первоначальной визуализации страницы?
Код:
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>