Jsf 2 使用MyFaces CODI,我不会在不同的浏览器选项卡中获得不同的windowid值——为什么?

Jsf 2 使用MyFaces CODI,我不会在不同的浏览器选项卡中获得不同的windowid值——为什么?,jsf-2,myfaces,codi,Jsf 2,Myfaces,Codi,我之所以使用MyFaces CODI,是因为它允许我在ViewAccessScope中使用CDI注释——这非常适合。问题是,我发现应用程序打开的多个浏览器选项卡共享@viewAccessScope支持bean的同一个实例。尴尬。不受欢迎 在我的页面中,我有如下内容: <h:link outcome="dispRecord" target="_blank" value="Click Here To Open New Window For Record 101" >

我之所以使用MyFaces CODI,是因为它允许我在ViewAccessScope中使用CDI注释——这非常适合。问题是,我发现应用程序打开的多个浏览器选项卡共享@viewAccessScope支持bean的同一个实例。尴尬。不受欢迎

在我的页面中,我有如下内容:

<h:link outcome="dispRecord"
      target="_blank"
      value="Click Here To Open New Window For Record 101" >
   <f:param name="recID" value="101" />
</h:link>
<h:link outcome="dispRecord"
      target="_blank"
      value="Click Here To Open New Window For Record 202" >
   <f:param name="recID" value="202" />
</h:link>
<h:link outcome="dispRecord"
      target="_blank"
      value="Click Here To Open New Window For Record 303" >
   <f:param name="recID" value="303" />
</h:link>

(这实际上是通过Primefacesp:dataGrid组件运行的迭代完成的,但我试图在这里简化。)

单击任何链接都会导致浏览器打开一个新窗口(选项卡),它打开的JSF网页引用了@viewAccessScope支持bean。但是,它们都获得相同的windowid,这与包含链接的主窗口相同。我假设这就是为什么它们都得到相同的backingbean实例


有人知道如何解决这个问题吗?

这是一个已知的浏览器问题。解决方案:

我回家后会试试。谢谢