У меня есть страница JSF (использующая MyFaces 2.0), которая выполняет небольшой сбор данных при первом отображении.Если он не может найти какую-либо информацию, он должен предоставить сообщение об этом и перенаправить обратно на другую страницу.Я попытался использовать решение, найденное здесь Сохранение FacesMessage после перенаправления для представления черезв JSF (setKeepMessages (true)), но сообщения не отображаются после перенаправления.Единственное отличие, которое я могу выделить, это то, что я не использую правило навигации, я вызываю вызов redirect () для внешнего контекста, потому что это не происходит в обычном действии.
Соответствующий код:
public void redirectToPageWithMessage(String inPage, String message, FacesMessage.Severity severity){
getFlash().setKeepMessages(true);
addMessage(message, severity);
try {
getFacesContext().getExternalContext().redirect(inPage);
} catch (IOException e) {
e.printStackTrace();
}
}
К сожалению, это не похоже на работу.Перенаправление происходит просто отлично, но тег не отображает сообщение.Есть ли что-то другое в том, как происходит редирект (), который мешает этому работать?