Come si recupera FacesContext in un filtro?Come recuperare FacesContext all'interno di un filtro
ho seguito l'articolo seguente su come recuperare il FacesContext
in un Filter
:
http://ocpsoft.org/java/jsf-java/jsf-20-extension-development-accessing-facescontext-in-a-filter/
Ma il problema è che non sta lavorando con portata Flash. A seguito di NPE è gettato:
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)
voglio aggiungere reindirizzamento nel mio filtro e utilizzare la portata flash per salvare alcuni dati e anche i messaggi, che non funziona.
"quindi disponibile solo all'interno di qualsiasi codice Java elaborato da FacesServlet, che copre tutti gli artefatti JSF, come i bean gestiti" Ora sono confuso. Quando cerco un bean gestito usando 'HttpSession.getAttribute()' l'attuale FacesContext è ancora nullo. – djmj
Il filtro viene eseguito prima di 'FacesServlet'. Quindi ottenere il bean gestito con scope della sessione da lì dove JSF ha memorizzato "sotto le copertine" prima dell'esecuzione di 'FacesServlet' non ti dà accesso a' FacesContext'. – BalusC
Questo spiega il comportamento. Grazie mille per la tua risposta :) – djmj