多个浏览器选项卡/ Windows和NUMBER

我们正在开发一个应用程序,我们必须支持多个浏览器选项卡/窗口。 我们的设置:MyFaces 2.1,Spring,Orchestra

默认情况下,org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION设置为20.这意味着如果您在浏览器中打开了21个选项卡,则第一个选项卡中的页面停止工作 - 给定视图无视图状态。

如果您在第二个选项卡中打开2个选项卡并请求21个视图更新(即,Ajax事件),则会发生同样的情况。 然后在第一个选项卡中单击将生成相同的异常。

有没有解决的办法? 例如,是否可以将视图缓存绑定到对话范围?


web.xml中将视图状态保存方法设置为client而不是server

<context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>client</param-value>
</context-param>

这样,整个视图状态将被保存(当然是以序列化的形式)在表单的隐藏输入字段中,而不仅仅是引用会话状态的视图状态ID。 这有一个缺点,即页面大小可能会增加,但如果启用了部分视图状态保存(这应该是JSF 2.0中的默认值),则这不应该成为主要问题。

也可以看看:

  • 为什么JSF在服务器上保存UI组件的状态?
  • 链接地址: http://www.djcxy.com/p/10055.html

    上一篇: Multiple Browser Tabs/Windows and NUMBER

    下一篇: What is the difference between the