微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在ViewScoped ManagedBean之间处理数据

如何解决在ViewScoped ManagedBean之间处理数据

| 我正在尝试做这样的事情:
@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)...的情况下解决此问题? n     

解决方法

        请求映射特定于HTTP请求。重定向指示浏览器发送新请求。新请求也意味着新地图。 请求参数映射是请求参数的映射。因此,您可以将其作为请求参数传递。
redirect(\"page1?id=\" + id);
这样,新请求的请求参数映射就可以使用它。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。