Результаты поиска
Найдено результатов: 1
JSF 2: Как отобразить информационное сообщение после редиректа?
Есть страница с формой авторизации, после корректного заполнения пары login-password переходим на главную страницу сайта и отображаем информационное сообщение, что авторизация прошла успешно. Нужно заметить, что переход на главную страницу происходит redirect запросом (каким способом происходит редирект welcome?faces-redirect=true или <redirect/> не имеет значение).
Сообщение помещается в FacesContext следующим образом:
FacesContext facesContext = FacesContext.getCurrentInstance();
FacesMessage facesMessage = new FacesMessage(FacesMessage.SEVERITY_INFO, message, null);
facesContext.addMessage(null, facesMessage);
Проблема в том, что после редиректа <h:messages /> не показывает информационное сообщение. В то же время, если редирект не делать, а ограничиться одним POST запросом, то информационное сообщение отображается.
Пробовал активировать
FacesContext.getCurrentInstance().getExternalContext().getFlash().setKeepMessages(true)
, но этот механизм помогает отобразить сообщение, только на текущей странице, даже если мы на неё вернёмся позже, но на другой странице (по другому url-адресу) <h:messages /> не может достать сообщение.
Соответственно, вопрос — как отобразить информационное сообщение после редиректа?
Может где-нибудь нужно указать правильный scope для <h:messages /> или FacesMessage?
Проект крутиться на Glassfish 3, Java EE 6, JSF 2.
FacesContext facesContext = FacesContext.getCurrentInstance();
FacesMessage facesMessage = new FacesMessage(FacesMessage.SEVERITY_INFO, message, null);
facesContext.addMessage(null, facesMessage);
FacesContext.getCurrentInstance().getExternalContext().getFlash().setKeepMessages(true)