我试图像这样做:
@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
答案 0 :(得分:1)
请求映射特定于HTTP请求。重定向指示浏览器发送新请求。新请求也意味着新地图。
请求参数映射是请求参数的映射。因此,您可以将其作为请求参数传递。
redirect("page1?id=" + id);
这种方式可以通过新请求的请求参数映射获得。