处理ViewScope ManagedBeans之间的数据

处理ViewScope ManagedBeans之间的数据,view,parameters,jsf-2,scope,managed-bean,View,Parameters,Jsf 2,Scope,Managed Bean,我正在尝试这样做: @ViewScoped public class Bean2{ public void saveChanges(){ //saving changes... FacesContext.getCurrentInstance().getExternalContext().getRequestMap().put("id",id); FacesContext.getCurrentInstance().getExterna

我正在尝试这样做:

@ViewScoped
public class Bean2{
     public void saveChanges(){
         //saving changes...
         FacesContext.getCurrentInstance().getExternalContext().getRequestMap().put("id",id);
         FacesContext.getCurrentInstance().getExternalContext().redirect("page1");
     }
}
并在Bean1中从requestMap获取数据

@ViewScoped
public class Bean1{
    public Bean1(){
         String id =  FacesContext.getCurrentInstance().getExternalContext().getRequestMap().get(id);
    }
}
但id始终为NULL,RequestMap为空。 我尝试使用getRequestParameterMap()它也是空的。。。 你知道如何在不改变bean的范围和不使用getSessionMap.put(参数)的情况下解决这个问题吗。。。?
Thnx

请求映射特定于HTTP请求。重定向指示浏览器发送新的请求。一个新的请求也意味着一个新的映射

请求参数映射是请求参数的映射。因此,您可以将其作为请求参数传递

redirect("page1?id=" + id);
这样,新请求的请求参数映射就可以使用它