JSF 2: Jak wyświetlić komunikat informacyjny po przekierowaniu?

Autor:emily b

Istnieje strona z formularzem autoryzacji, po poprawnym wypełnieniu pary login-hasło, przejdź do strony głównej witryny i wyświetl komunikat informujący, że autoryzacja się powiodła. Należy zauważyć, że przejście do strony głównej odbywa się za pomocą żądania przekierowania (w ten sposób przekierowanie welcome?faces-redirect=true lub <redirect/> nie ma znaczenia).

Wiadomość jest umieszczana w FacesContext w następujący sposób:
 

FacesContext facesContext = FacesContext.getCurrentInstance();
FacesMessage facesMessage = new FacesMessage(FacesMessage.SEVERITY_INFO, message, null);
facesContext.addMessage(null, facesMessage);

Problem polega na tym, że po przekierowaniu <h:messages /> nie jest wyświetlany komunikat informacyjny. W tym samym czasie, jeśli przekierowanie nie zostanie wykonane, ale zostanie ograniczone do jednego żądania POST, zostanie wyświetlony komunikat informacyjny.

Próbowałem aktywować
 
FacesContext.getCurrentInstance().getExternalContext().getFlash().setKeepMessages(true)

, ale ten mechanizm pomaga wyświetlić komunikat, tylko na bieżącej stronie, nawet jeśli wrócimy do niego później, ale na innej stronie (pod innym adresem URL) <h:messages /> nie może uzyskać wiadomości.

Odpowiednio, pytanie brzmi - jak wyświetlić komunikat informacyjny po przekierowaniu?

Może gdzieś musisz podać poprawny zakres dla <h:messages /> lub FacesMessage?

Projekt obraca się na Glassfish 3, Java EE 6, JSF 2.

Odpowiedzi

reade
użyj link
Odpowiedzi:
Tak, widziałem kilka podobnych kapeluszy, ale jest nadzieja, że ​​w JSF 2 pojawiły się bardziej eleganckie rozwiązania. W każdym razie dziękuję za link. - cansu g rler
Tak czy inaczej, ten kij działa (pod Glassfish 3, Java EE 6, JSF 2) - sprawdzany. - miriam wakerly
Znaleziono inny zasób z tym samym link. - travelgirlut
Certyfikacja dostawcy żelaza i oprogramowania :: Otwarcie "dossier" klienta podczas rozmowy telefonicznej :: Czego brakuje w nowoczesnym CMS? :: Karty graficzne. Co jest lepsze: GDDR5 i 128-bitowe lub GDDR3 i 256-bitowe? :: Jak rozpocząć naukę Pythona?
Zostaw odpowiedź
Linki