Java 如何在jsf中获取应用程序范围变量?

Java 如何在jsf中获取应用程序范围变量?,java,jsf,Java,Jsf,我使用以下代码初始化了ServletContextlistener中的一个变量: sce.getServletContext().setAttribute("foo", "someValue"); 因此,我现在可以使用以下代码获得值: FacesContext.getCurrentInstance().getExternalContext().getApplicationMap().get("foo"); 现在,我想在其他一些类中访问这个值,这些类不是FacesContext,也不是控制器。

我使用以下代码初始化了
ServletContext
listener中的一个变量:

sce.getServletContext().setAttribute("foo", "someValue");
因此,我现在可以使用以下代码获得值:

FacesContext.getCurrentInstance().getExternalContext().getApplicationMap().get("foo");

现在,我想在其他一些类中访问这个值,这些类不是
FacesContext
,也不是控制器。我该怎么做呢?

如果另一个类没有在
FacesContext
ServletContext
中运行,那么您就不能

只需将其作为构造函数或方法参数传递

otherClass.doSomething(foo);