【问题标题】:FacesContext#getCurrentInstance() returns null in Filter#doFilter()FacesContext#getCurrentInstance() 在 Filter#doFilter() 中返回 null
【发布时间】:2013-01-01 21:38:22
【问题描述】:

内部

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

我想使用

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

但我意识到FacesContext.getCurrentInstance() 返回null。我知道我可以改用((HttpServletRequest) req).getSession(false) 来获取会话,但我的具体问题是:为什么doFilter() 方法中的面孔上下文null

我正在使用 MyFaces 1.1。

【问题讨论】:

    标签: jsf servlet-filters


    【解决方案1】:

    FacesContext 作为对象直接绑定到 JSF 请求处理生命周期,因此仅在标准 JSF(用户驱动)请求-响应过程期间可用。实际对象本身存储在一个线程中,该线程在处理 JSF 请求期间运行,相对于 ManagedBean。

    但是。 BalusC 概述了一些步骤,让您在处理生命周期here 之外获得对象。 :)

    【讨论】:

      猜你喜欢
      • 2014-11-14
      • 1970-01-01
      • 1970-01-01
      • 2012-04-21
      • 2017-09-24
      • 2014-03-12
      • 2019-06-28
      • 2012-09-07
      • 2017-03-17
      相关资源
      最近更新 更多