使用MyFaces CODI,我在不同的浏览器选项卡中没有得到不同的windowid值 - 为什么?

时间:2011-10-24 03:14:29

标签: jsf-2 myfaces codi

我正在使用MyFaces CODI因为它允许我使用ViewAccessScoped的CDI注释 - 对此非常有用。问题是我发现我的应用程序打开的多个浏览器选项卡共享 @ViewAccessScoped 辅助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>

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

单击任何链接将导致浏览器打开一个新窗口(选项卡),它打开的JSF网页引用 @ViewAccessScoped 辅助bean。然而,它们都获得相同的windowid,这与其中包含链接的主窗口相同。我认为这就是为什么他们都得到了支持bean的相同实例。

任何人都知道如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

这是一个已知的浏览器问题。解决方案:http://old.nabble.com/-CODI--lazy-windowId-drop-script-p31654496.html