У меня есть одна страница, которая делает что-то и когда пользователь нажимает кнопку, пользователь перенаправляется к другой странице, и сообщение отображено. Вот мой код:
public String confirm() {
FacesContext context = FacesContext.getCurrentInstance();
Flash flash = context.getExternalContext().getFlash();
flash.setKeepMessages(true);
FacesMessage msg = new FacesMessage("Succesful", "Release is confirmed!");
context.addMessage(null, msg);
return "/prot/expert/releases?faces-redirect=true";
}
Я использую p:growl компонент, который отображает мое сообщение на странице "выпусков".Пока все хорошо.
Но затем на любой последующей странице, которая имеет p:growl (или если я перехожу к другой странице и возвращаюсь), сообщение отображено снова и снова и я не могу уничтожить его.
Я попробовал что-то как:
<c:set target="#{flash}" property="keepMessages" value="false" />
на странице, которая имеет p:growl, я пытался очистить флэш-память от отступающего боба и т.д.
Сообщение сохранено и отображено снова и снова. Если я удаляю (верный) flash.setKeepMessages; из кода выше затем ничего отображен.
Что я делаю неправильно?