繁体   English   中英

从既不是servlet也不是bean的类访问JSF bean

[英]Access JSF bean from class which is neither servlet nor bean

我有一个JSF会话作用域bean,并且在该bean中保留了当前用户(已登录)信息。 我也有一个既不是servlet也不不是bean的类,它只是一个类。 我想访问jsf bean,并在该类中获取当前的用户信息。 我已经找到了用于servlet访问jsf bean的解决方案,但我找不到针对此问题的解决方案。 有什么办法吗?

谢谢!

如果提到的类的实例与调用FacesServlet的HTTP请求线程在同一线程中运行,则可以通过FacesContext然后通过Application#evaluateExpressionGet()来获取它。 另请参阅在任何与Servlet相关的类中按名称获取JSF托管Bean。

如果提到的类的实例在不同的线程中运行,那么您需要事先将所需的信息传递给该类的构造函数,方法或将所需的信息存储在JSF webapp和独立的共享数据源中类有权访问,例如数据库,本地磁盘文件系统文件或JNDI上下文。 根据上下文和环境,CDI的@Named + @Inject也可能是解决方案。

“最佳方法”取决于具体的功能要求,这个问题尚不清楚,因此我无法指出正确的方法,也无法给出任何启动示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM