从会话中获取JSF托管bean

时间:2014-04-10 05:01:31

标签: jsf session javabeans managed

我有一个会话范围的托管bean需要从另一个会话管理bean设置,为此我做了以下

RWIRManagedBean managedBean = new RWIRManagedBean();
managedBean.setRequest(req);
managedBean.setDisplayAppDetailsMode(new Boolean(true));
FacesContext.getCurrentInstance().getExternalContext().getSessionMap()
.put("RWIRManagedBean", managedBean);
pageId = ((DoBRServiceViewObj)getConfigMap().
get(ConstantsManager.WebConstants.RWIR_SERVICE_ID)).getServicePageID();
// page id is a jsf page, the belwo is the redirect code
EngineURL engineURL = getRedirectURL(FacesContext.getCurrentInstance(). 
                      getExternalContext(),pageId,FacesContext.
                      getCurrentInstance().getViewRoot().getLocale().getLanguage());
FacesContext.getCurrentInstance().getExternalContext().redirect(engineURL.toString());

但是当我调用与此托管bean关联的JSF页面时,看起来好像是创建了一个新的托管bean而且我创建的托管bean不存在。 我的问题是,JSF生命周期应该在评估JSF页面时从会话中获取托管bean,但为什么它会在我的情况下创建一个新的?任何帮助

0 个答案:

没有答案