最新的Mojarra版本的Flash-Scope?

时间:2016-02-11 11:12:32

标签: jsf jsf-2.2 omnifaces mojarra flash-scope

我阅读了许多有关mojarra闪存范围问题的主题 直到现在,我还没能完全摆脱这些讨厌的

  

“当我们尝试为闪存设置传出cookie时,响应已经提交。存储在闪存中的任何值都不会在下一个请求中提供。”

消息导致很多头痛。

我读到了关于自定义cookie或请求参数的解决方法,但我是 这样的时候感觉不太好 一个基本的东西长时间不能被接受。

目前的环境:
   - mojarra 2.2.13
   - omnifaces 1.12.1
- tomcat 8.0.32

任何人都可以确认,这仍然发生在最新的mojarra? 我以前的mojarra版本也遇到过这些问题 - 有时它会起作用,有时候不行。无论如何,消息 登录后只出现一次,但创建的cookie“csfcfc”永远不会被删除,现在每次请求都会出现警告。

由于其他问题,目前无法选择切换到myfaces。

我的简单案例,没什么特别的?:

@ManagedBean
public class LoginBean implements Serializeable {

 public String login(){

 String nextPage = null;
 //...
 if (dataOk){
     Messages.addFlashGlobalInfo("welcome");
     nextPage = "/user/dashboard?faces-redirect=true";
 }
 return nextPage;
   }
 }

@ViewScoped
public class DashboardBean implements Serializeable {

  @PostConstruct
  protected void init(){    
   //....
   initData();
  }
}

mastertemplate.xhtml:

<h:body>
     <f:view>            
     <div class="content">              

         <h:panelGroup id="messages">
               <h:panelGroup  layout="block"  rendered="#{not empty facesContext.messageList}"> 
           <o:messages globalOnly="true" escape="false" infoClass="alert-success alert-dismissable" />
            </h:panelGroup>
         </h:panelGroup>

          <ui:insert name="content"/>       

     </div> 
   </f:view>
</h:body>

login.xhtml

<h:commandButton action="#{LoginBean.login}" id="btn-login"    value="Login">
</h:commandButton>

0 个答案:

没有答案