Я использую метод ExternalContext.redirect(String); для перенаправления пользователя на другую страницу:
FacesContext.getCurrentInstance().addMessage(new FacesMessage("Bla bla bla..."));
FacesContext.getCurrentInstance().getExternalContext().getFlash().setKeepMessages(true);
ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext();
ec.redirect(ec.getRequestContextPath() + "/scenario.xhtml");
Как сказал Мэтт Ханди в своем ответе, я использовал Flash.setKeepMessages(true);, но он не работает с ExternalContext.redirect. (Хотя он работает, когда я перенаправляю, возвращая имя страницы из метода действия bean.)
Теперь, как я могу добавить FacesMessage, чтобы он был видимым на странице перенаправленного (script.xhtml)?