使用Flash从servlet或JAX-RS重定向后显示FacesMessage

时间:2014-04-30 18:18:34

标签: jsf-2

我想通过servlet或JAX-RS(不重要哪一个)实现激活链接,然后将用户重定向到正确的页面,留下他存储在Flash中的FacesMessage。我对重定向本身没有任何问题,但我不知道如何访问Flash。

1 个答案:

答案 0 :(得分:0)

您可以从Flash

获取对ExternalContext对象的访问权限
  1. 获取对Flash

    的访问权限
    Flash flash = FacesContext.getCurrentInstance().getExternalContext().getFlash();
    
  2. 在对象上设置keepMessages =true,以确保您存储的FacesMessage在重定向中存活

    flash.setKeepMessages(true);
    
  3. 使用FacesMessages方法存储您的putNow,以确保即使在重定向后,这些消息仍然可以在至少一次页面刷新后继续存在

    flash.putNow(yourFacesMessage);
    
  4. 你真的不需要将FacesMessage存储在flash对象本身中;在FacesContext排队他们就足以保证他们可以在其他页面上使用

    相关: