我有一个过滤器:UserSessionFilter.java
,用于处理用户会话和ApplicationScoped
bean:Config.java
,主要是为了让我可以访问DAO factory
。
Config.java
@ManagedBean (eager = true)
@ApplicationScoped
public class Config implements Serializable {...
过滤器调用Config
中的方法来获取DAOFactory
对象:
过滤方法
@Override
public void init(FilterConfig filterConfig) {
daoFactory = Config.getInstance().getDAOFactory();
}
配置方法
public static Config getInstance() {
FacesContext facesContext = FacesContext.getCurrentInstance();
return (Config) facesContext.getApplication().evaluateExpressionGet(
facesContext, "#{config}", Config.class);
}
我的问题是facesContext
设置为null
。从Mojarra
切换到MyFaces
之后,这个问题就开始发生了,虽然看起来很奇怪,但这会导致它。