5.9. Flash闪存,跨页面参数传递

除了对ConversationContext的支持外,我们还对SessionMap进行简单的封装,使得用户获取及操作SessionMap时更加简易方便,要获取JSF中的SessionMap来保存数据,必需历尽艰辛:

FacesContext.getCurrentInstance().getExternalContext().getSessionMap();

目前已经被简化成:

FacesUtils.getFlash();

Flash对象拥有的API是

    public void put(String key, Object value);
    
    public Object get(String key);
    
    public Object remove(String key);
    
    public void clear(String key);

    public Map<String, Object> getParamsMap();

    public void setParamsMap(Map<String, Object> paramsMap);

Flash原理上属于保存在Session中的一个Map,操作起来也比较简单,用户需要跨页面传递参数,先调用put的方法保存数据,然后在另一页面通过get方式获取值即可。