Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

Inside a

public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain)

I wanted to get the session using

FacesContext.getCurrentInstance().getExternalContext().getSession(false);

But I realised that FacesContext.getCurrentInstance() returns null. I know that I can get the session using ((HttpServletRequest) req).getSession(false) instead, but my concrete question is: why is the faces context null in the doFilter() method?

I'm using MyFaces 1.1.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
978 views
Welcome To Ask or Share your Answers For Others

1 Answer

FacesContext as an object is tied directly to the JSF request processing lifecycle and as a result is only available during a standard JSF (user-driven) request-response process. The actual object itself is stored in a thread that runs during the processing of a JSF request, vis-a-vis a ManagedBean.

But. BalusC has outlined some steps to get your hands on the object outside of the processing lifecycle here. :)


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...