我正在使用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
答案 0 :(得分:6)
FacesContext.getCurrentInstance()
处理的请求中,则 null
会返回FacesServlet
。确保您正在处理通过该servlet传递的请求。
更新:如果faces上下文不为null,则应用程序上下文可能为null的原因是没有名为org.springframework.web.context.WebApplicationContext.ROOT
的servlet上下文属性。这意味着弹簧未正确初始化。确保您在ContextLoaderListener
或[{1}}
web.xml
{}}