Jsf 2 多个浏览器选项卡上的ViewScope bean冲突

Jsf 2 多个浏览器选项卡上的ViewScope bean冲突,jsf-2,cdi,mojarra,view-scope,Jsf 2,Cdi,Mojarra,View Scope,我将JSF Mojarra 2.3.8与Tomcat8一起使用(CDI和JPA需要额外的库)。 我有一个ViewScope bean: @Named @ViewScoped public class MyBean implements Serializable { ... 我有一个使用这个bean的页面 我在2个浏览器选项卡中打开页面,在选项卡1中修改并发布页面。然后离开选项卡1上的页面(操作返回不同的页面) 然后,在选项卡2,我尝试修改并保存相同的记录。没有错误,但我可以从日志中看到MyBe

我将JSF Mojarra 2.3.8与Tomcat8一起使用(CDI和JPA需要额外的库)。 我有一个ViewScope bean:

@Named @ViewScoped
public class MyBean implements Serializable {
...
我有一个使用这个bean的页面

我在2个浏览器选项卡中打开页面,在选项卡1中修改并发布页面。然后离开选项卡1上的页面(操作返回不同的页面)

然后,在选项卡2,我尝试修改并保存相同的记录。没有错误,但我可以从日志中看到MyBean被重新创建,并且丢失了原始数据

要保存数据,我将使用:

<h:commandButton type="submit" value="Save" action="#{myBean.saveData}" />

我认为ViewScoped bean可以在多个选项卡上独立使用。如果这是真的,为什么一个页面会影响与另一个页面关联的同一个bean

我似乎也遇到了这里描述的相同问题: 但遗憾的是,它没有答案


虽然这可能与我不认为这是重复的原因相同,因为我没有使用WildFly,因此该问题的答案将与我的不同(即WildFly已修补)。

如果其他人有相同的问题,我认为这是目前最接近答案的问题:

这是Mojarra的一个bug,将在2.3.10中修复,根据本文:

在Mojarra 2.3.10发布之前,使用WildFly 16附带的版本可能会起作用,因为WildFly团队已经修补了该版本(但我还没有尝试过)。 如果您使用的是Wildfly或Payara,那么请考虑升级到最新版本(WF为16 Alpha 1),因为它们都经过了修补(但在这个答案中不是在GA中)

更新:
2.3.10版可以在它的新主页上找到:

,您也在该问题的评论中点击了链接?答案中的链接和评论中的链接?WildFly的“问题”链接?请这样做。这可能是Mojarra中的一个bug,有望在版本2.3.10中修复?@Kukeltje我不认为这是一个副本,因为我没有使用WildFly,所以这个问题的答案将与我的不同(即WildFly已修补)。“这是Mojarra中已知且已修复的问题。”是Wildfly和Tomcat+Mojarra的答案。Wildfly用户需要升级到补丁WF,Mojarra用户需要升级到补丁Mojarra。我看不出有什么不同。