gpt4 book ai didi

java - 多个浏览器选项卡/窗口和 NUMBER_OF_VIEWS_IN_SESSION

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:33:03 25 4
gpt4 key购买 nike

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

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

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

有解决办法吗?例如,是否可以将 View 缓存绑定(bind)到对话范围?

最佳答案

web.xml中将 View 状态保存方式设置为client而不是server

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

这样,整个 View 状态将被保存(当然是以序列化形式)在表单的隐藏输入字段中,而不仅仅是引用 session 中状态的 View 状态 ID。这样做的缺点是页面大小可能会增加,但如果您打开了部分 View 状态保存(这应该是 JSF 2.0 中的默认设置),这应该不是主要问题。

另见:

关于java - 多个浏览器选项卡/窗口和 NUMBER_OF_VIEWS_IN_SESSION,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8278291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com