【问题标题】:Handling Data between ViewScoped ManagedBeans处理 ViewScoped ManagedBeans 之间的数据
【发布时间】:2011-09-04 15:11:35
【问题描述】:

我正在尝试这样做:

@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(parameters)...的情况下解决这个问题吗? 谢谢

【问题讨论】:

    标签: view parameters jsf-2 scope managed-bean


    【解决方案1】:

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

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

    redirect("page1?id=" + id);
    

    这样就可以通过新请求的请求参数映射得到。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-20
      • 2014-02-15
      • 1970-01-01
      • 1970-01-01
      • 2015-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多