解决方法
from within a Servlet
init()
因此,它涉及到一个非JSF请求. FacesContext#getCurrentInstance()在这里返回null,所以这里没有用.
很高兴知道JSF应用程序范围的托管bean基本上被存储为ServletContext的属性.在init()方法中,您的ServletContext由继承的getServletContext()
方法在您手中.所以,以下应该做:
@Override public void init() { getServletContext().setAttribute("managedBeanName",new backingBean()); }
而已.它将通过#{managedBeanName}在JSF中可用.