FacesContextUtils.getWebApplicationContext(FacesContext.getCurrentInstance())返回null

时间:2011-01-24 19:26:48

标签: java spring jsf

我正在使用Spring,Hibernate和JSF。

为了从应用程序上下文中获取bean,我写道:

public static Object findBean(String name) {
  return FacesContextUtils.getWebApplicationContext(FacesContext.getCurrentInstance()).getBean(name);
 }

但是,FacesContextUtils.getWebApplicationContext(FacesContext.getCurrentInstance())返回null,因此在其上调用getBean()会抛出NullPointerException

我是否需要在任何地方定义任何内容?

EDITED

我需要从应用程序上下文中获取bean而不是jsf bean

1 个答案:

答案 0 :(得分:6)

如果您不在FacesContext.getCurrentInstance()处理的请求中,则

null会返回FacesServlet。确保您正在处理通过该servlet传递的请求。

更新:如果faces上下文不为null,则应用程序上下文可能为null的原因是没有名为org.springframework.web.context.WebApplicationContext.ROOT的servlet上下文属性。这意味着弹簧未正确初始化。确保您在ContextLoaderListener或[{1}}

中映射了web.xml {}}