

JavaEE7で、リダイレクトを行う前にFacesMessageに値を詰めても、リダイレクトした先で値が消失してしまいます。消失させずに、保持しておくためにはどうしたら良いでしょうか？

リダイレクトのコード

[code]

    FacesMessage msg = new FacesMessage(...);
    FacesContext.getCurrentInstance().addMessage(msg);
    ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext();
    ec.getFlash().setKeepMessages(true);
    ec.redirect(ec.getRequestContextPath() + "/something.xhtml?faces-redirect=true");
    
[/code]

something.xhtmlのコード

[code]

    <?xml version='1.0' encoding='UTF-8' ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
          xmlns:h="http://xmlns.jcp.org/jsf/html"
          xmlns:f="http://xmlns.jcp.org/jsf/core"
    >
        <h:body>
            <h:messages globalOnly="true" /><!-- リダイレクト前に作成したFacesMessageが表示されない -->
        </h:body>
    </html>
    
[/code]

**追記の情報**  
Glashfish 4.1.1 では、上記のコードでうまくいきました。  
Web Sphere Libarty Profile 8.5.9 では、上記のコードでうまく **いきません** でした。  
JavaEEの内部実装による差異ということから、MyFacesとMojarraの差でしょうか？（原因は現時点で特定できていません）


CC BY-SA 3.0
2016-08-02T10:45:56.817
28022
2016-08-04T09:26:32.417
2016-08-04T09:26:32.417
3355
3355
question
java-ee
JavaEE7でリダイレクトした際にFacesMessageが消失する