是否可以在扩展GenericFacesPortlet
的类中访问session范围的bean?
portlet是否知道FacesContext
?
我想实现什么?
我想通过serveResource()
方法提供一个文件。应该从实现方法getResourceContent()
的bean中检索文件内容。
但不幸的是,当我打电话给null
时,我会得到FacesContext.getCurrentInstance()
。
供您参考:我正在使用2.1.0.final版本中的JBoss Portlet Bridge。
最佳答案
在GenericFaceSportlet中,FacesContext将始终为空。GenericFaceSportlet创建桥并初始化它。桥实际上是创建facescontext并执行jsf生命周期。从genericfacesportlet的角度来看,facescontext尚未创建(空)。
为了实现您想要的,您可以从会话中获取bean。为此,您必须使用:
yourbean yourbean=(yourbean)请求.getportletsession().getattribute(“yourbeanname”);
其中“yourbean name”是定义bean时在faces-config.xml中使用的名称。
干杯!