将JSF视图与多个浏览器选项卡一起使用时出现的问题

将JSF视图与多个浏览器选项卡一起使用时出现的问题,jsf,session,view,Jsf,Session,View,我们可以通过在web.xml中指定更多numberOfViewsInSession和numberOfLogicalViews来增加JSF中视图会话的数量。然而,在多浏览器标签的情况下,我们面临着一个难题。当用户打开多个选项卡并通过选择“与获取请求链接”或“与对话框框架打开对话框”来主动使用其中一个选项卡时,当用户选择将触发ajax Post请求的下拉列表时,其他非活动选项卡的视图将过期 我可以知道在多浏览器选项卡的情况下处理JSF视图有什么最佳实践吗?您可以通过com.sun.faces.num

我们可以通过在web.xml中指定更多numberOfViewsInSession和numberOfLogicalViews来增加JSF中视图会话的数量。然而,在多浏览器标签的情况下,我们面临着一个难题。当用户打开多个选项卡并通过选择“与获取请求链接”或“与对话框框架打开对话框”来主动使用其中一个选项卡时,当用户选择将触发ajax Post请求的下拉列表时,其他非活动选项卡的视图将过期


我可以知道在多浏览器选项卡的情况下处理JSF视图有什么最佳实践吗?

您可以通过com.sun.faces.numberOfLogicalViews和com.sun.faces.numberOfViewsInSession for Mojarra以及通过org.apache.myfaces.numberofoftheviews在会话中增加视图的数量myfaces会话中的顺序视图数


可以找到更详细的解释。

您无法告诉我们您使用的是哪个JSF实现和版本。另外,如果有一个小的测试用例来重现您的问题也会很好。有多少选项卡是“多”选项卡?2.2.5我们已经包括numberOfViewsInSession以增加物理视图,numberOfLogicalViews以增加逻辑视图。但是,根据我之前的场景,无论我们在numberOfLogicalViews中输入的数字有多大,如果用户在其中一个浏览器选项卡中激活了GET请求,则可能仍会遇到ViewExpiredException。您在问题中没有提到numberOfLogicalViews。您所描述的场景只有在浏览器选项卡的数量超过逻辑视图的数量时才会发生。对于numberOfLogicalViews参数,我很抱歉。我刚刚把它加了回去。谢谢你的提醒。关于选项卡的数量,根据我们的测试,如果用户涉及任何GET请求或openDialog函数,将创建一个新视图。