我在使用@org.omnifaces.cdi.ViewScoped和多个选项卡时遇到问题:
我在TestPage中有一个链接.xhtml它打开了另一个页面(ShowValuePage.xhtml(,其中包含请求参数"someValue"。如果我在新选项卡中打开此链接 10 次并在第一个打开的选项卡中导航离开,PostConstruct 将再次调用,而不仅仅是导航离开。
如果我多次从 ShowValuePage 导航回 TestPage,也会发生同样的情况。(要对此进行测试,我们必须多次单击"显示值"和"主页"链接(。
仅当打开的选项卡多于Web中定义的选项卡时,才会发生这种情况.xml值为"numberOfLogicalViews"和"numberOfViewsInSession"。
我已经建立了一个小项目来显示这个问题。该过程的确切说明可以在自述文件中找到.txt。
github上的项目
有解决方法吗?
谢谢你和最诚挚的问候
海因里希
PS:我在Omnifaces上将其报告为错误,但是一周后我没有得到答案。
它在OmniFaces 2.7.1和3.3中得到了修复。
这些症状是由显式重定向引起的,该重定向最初是为了触发任何身份验证框架,该框架会记住"上次受限请求",以便在会话过期时记住正确的请求。此问题已通过仅发送重定向且仅当会话实际上是新的时才得到解决。