@org.omnifaces.cdi.ViewScoped 在卸载已销毁的视图时调用@PostConstruct



我在使用@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中得到了修复。

这些症状是由显式重定向引起的,该重定向最初是为了触发任何身份验证框架,该框架会记住"上次受限请求",以便在会话过期时记住正确的请求。此问题已通过仅发送重定向且仅当会话实际上是新的时才得到解决。

最新更新