2011-10-24 63 views
0

我正在使用MyFaces CODI,因爲它允許我在ViewAccessScoped中使用CDI註釋 - 非常適合這種情況。問題是我發現由我的應用程序打開的多個瀏覽器選項卡共享同一個支持bean的實例。尷尬。不可取的。使用MyFaces CODI,我不會在不同的瀏覽器選項卡中獲得不同的windowid值 - 爲什麼?

在我的網頁我有這樣的事情:

<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運行迭代完成:的數據網格組成部分,但我想在這裏簡化)

單擊任何鏈接將導致瀏覽器打開一個新窗口(選項卡),並且它打開的JSF網頁引用@ViewAccessScoped支持bean。但是,它們都獲得相同的窗口ID,與具有鏈接的主窗口相同。我認爲這就是爲什麼他們都獲得相同的支持bean實例。

任何人都知道如何解決這個問題?

回答

相關問題