gpt4 book ai didi

java - 从 GenericFacesPortlet 获取 session 范围的 bean

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:15:01 24 4
gpt4 key购买 nike

是否有可能在扩展 GenericFacesPortlet 的类中访问 session 范围的 bean?

Portlet 是否知道 FacesContext


我想达到什么目的?

我想通过 serveResource() 方法提供一个文件。文件的内容应该从实现 getResourceContent() 方法的 bean 中检索。

但不幸的是,我在调用 FacesContext.getCurrentInstance() 时得到了 null


供您引用:我正在使用 JBoss Portlet Bridge在版本 2.1.0.FINAL 中。

最佳答案

FacesContext 在 GenericFacesPortlet 中将始终为空。 GenericFacesPortlet 创建桥并对其进行初始化。 Bridge 实际上是在创建 FacesContext 并执行 JSF 生命周期。从您的 GenericFacesPortlet 角度来看,FacesContext 尚未创建(空)。

为了达到你想要的效果,你可以从session中抓取bean。为此,您必须使用:

YourBean yourBean = (YourBean) request.getPortletSession().getAttribute("yourBeanName");

其中“yourBeanName”是您在定义 YourBean 时在 faces-config.xml 中使用的名称。

干杯!

关于java - 从 GenericFacesPortlet 获取 session 范围的 bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8272043/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com