Jsf 2 post在JSF2 flash作用域中设置了一个值之后,在对页面的第二个GET请求中,它再次可见(flash作用域被认为是有害的)

Jsf 2 post在JSF2 flash作用域中设置了一个值之后,在对页面的第二个GET请求中,它再次可见(flash作用域被认为是有害的),jsf-2,mojarra,flash-scope,Jsf 2,Mojarra,Flash Scope,我在JSF2中测试了新的Flash scope,但我发现它有一个主要问题,或者我缺乏一些知识 有一页的: <h:body> Value in flash: #{flash.text} <h:form> <h:inputText value="#{flash.text}" /> <h:commandButton value="Test" /> <!-- Same behavior wi

我在JSF2中测试了新的Flash scope,但我发现它有一个主要问题,或者我缺乏一些知识

有一页的:

<h:body>
    Value in flash: #{flash.text}
    <h:form>    
         <h:inputText value="#{flash.text}" />
         <h:commandButton value="Test" /> <!-- Same behavior with faces redirect -->
    </h:form>
</h:body>

flash中的值:#{flash.text}
我有一个场景:

  • 输入一个值“foo”,然后单击测试
  • 我得到“闪光中的价值:foo”
  • 我用同样的地址打开新的一页
  • 我得到“闪光中的价值:”
  • 我打开了另一个地址相同的新页面

  • 我得到了“flash的价值:foo”我认为现在flash的实现应该被认为是有害的。在我每天工作的应用程序中,我有一个非常好的用例,但不幸的是,Flash似乎无法使用

    主要问题是用于将指针传输到状态的cookie未被清除,请参阅

    闪存示波器似乎也存在安全问题,请参阅


    如果有任何问题困扰您,请投票支持相关问题;)

    解决方法:通常当人们想使用Flash时,应该使用Seam 3。Jetty 8的情况并非如此。谢谢。在您的用例中,是否可以替换Flash?是的,这似乎可以做到这一点。我的用例是一个非常经典的post后重定向场景,其中重定向的页面只需要显示一条消息。另外一个好处是,如果有多个上下文处于活动状态,可以为第一个上下文以外的任何上下文生成ID。