3

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

有一个页面:

<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>

我有一个场景:

  • 输入一个值“foo”并单击测试
  • 我得到'Flash中的价值:foo'
  • 我用相同的地址打开新页面
  • 我得到“闪存中的价值:”
  • 我用相同的地址打开另一个新页面
  • 我得到'Flash中的价值:foo '<-恕我直言,这是错误的!

重现性:在 Glassfish 3.1 和 JBoss AS 7 上 100% 测试

可能相同原因的不同问题:Removing JSF messages from flash

所以:

  • 它是 JSF2 闪存所需的行为吗?
  • 基于闪存的这个和其他注意到的问题,参考闪存实现是否应该被认为是有害的?
4

1 回答 1

2

我认为现在 Flash 的实施确实应该被认为是有害的。在我日常工作的应用程序中,我有一个非常好的用例,但不幸的是,Flash 似乎无法使用。

主要问题是用于传输指向状态的指针的 cookie 未清除,请参阅Flash scoped message lives longer than next request

Flash 范围似乎也存在安全问题,请参阅Flash 范围 cookie 启用数据攻击

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

于 2011-08-06T18:55:55.877 回答