Jak mogę pobrać FacesContext w filtrze?Jak pobrać FacesContext w filtrze
I następnie dodaje się artykuł o tym, jak odzyskać FacesContext
w Filter
:
http://ocpsoft.org/java/jsf-java/jsf-20-extension-development-accessing-facescontext-in-a-filter/
Ale problemem jest to, że nie działa z zakresu Flash. W następstwie NPE jest wyrzucany:
java.lang.NullPointerException
at com.sun.faces.context.flash.ELFlash.loggingGetPhaseMapForWriting(ELFlash.java:751)
at com.sun.faces.context.flash.ELFlash.getPhaseMapForWriting(ELFlash.java:785)
at com.sun.faces.context.flash.ELFlash.put(ELFlash.java:392)
at com.sun.faces.context.flash.ELFlash.put(ELFlash.java:112)
chcę dodać przekierowanie w moim filtrze i wykorzystywać zakres lampy błyskowej, aby zapisać niektóre dane, a także wiadomości, które nie działa.
"w ten sposób dostępna jest tylko w obrębie kodu Java, który jest przetwarzany przez FacesServlet, który obejmuje wszystkie artefakty JSF, takie jak zarządzane komponenty bean" Teraz jestem zdezorientowany. Kiedy szukam zarządzanego komponentu bean za pomocą 'HttpSession.getAttribute()' obecny FaceContext jest nadal pusty. – djmj
Filtr działa przed 'FacesServlet'. Zatem pobieranie skupionej na sesji części zarządzanej fasoli, z której JSF zapisywał "pod osłonami", zanim uruchomiono usługę 'FacesServlet', nie daje dostępu do' FacesContext'. – BalusC
To wyjaśnia zachowanie. Wielkie dzięki za twoją odpowiedź :) – djmj