2011-05-21 56 views
0

我有用冰做的應用程序:faces .. 我想支持同一個會話的多個窗口 是否有可能在ice:faces? 在web.xml 我已經把標籤一樣,icefaces同一會話的多個窗口支持

<context-param> 
<param-name>com.icesoft.faces.concurrentDOMViews</param-name> 
<param-value>true</param-value> 
</context-param> 

我能打開多個窗口,但問題是我不能讓從兩個窗口同時變化。

+0

當您嘗試這樣做時會發生什麼問題?如果出現錯誤,請發佈日誌詳細信息。 – 2011-05-21 20:04:36

+0

如果多個窗口打開,我刷新頁面,然後我從當前註銷。 – chetan 2011-05-22 07:34:15

+0

如果我寫爲 false,則上一次窗口更新反映在另一個窗口上。 – chetan 2011-05-22 07:38:09

回答

0

從ICEfaces的文檔:

併發DOM視圖中啓用, 每個瀏覽器窗口是明顯 識別與視圖號和DOM 更新將被正確地應用到 相應的窗口。這 介紹了一些重要的 考慮因素的應用 數據模型。現在可以在 多個視圖中同時共享會話 範圍內的受管豆。對於某些 狀態,此 可能是所需的範圍,但通常, 與演示相關的狀態更適合保存在請求範圍內的 。

Request範圍:對於典型 視圖相關的狀態,請求範圍 豆將通過最用​​戶 相互作用但不穿過視圖 變化持續。對於使多個窗口使用 的ICEfaces應用程序,這是建議的範圍 。

會話範圍:對於必須爲跨視圖共享的 的狀態。

當您將參數設置爲true支持多個視圖,但必須使用請求範圍的bean。如果打開另一個窗口,可能會強制從當前會話中註銷。

如果併發DOM視圖被配置, 和多個窗口被 創建的用戶,ICEfaces的使用單個 阻塞連接到遞送 異步更新所有視圖中 會話。

當設置爲支持單視圖的false時,窗口中的更改會反映到另一個視圖中。

+0

我試着用會話範圍和DOM真正,但它仍然給出相同的結果。並將所有請求範圍更改爲會話不是一個可行的解決方案:)。 – chetan 2011-05-24 05:06:33

+0

@chetan我認爲你誤會了,並用會話範圍而不是請求範圍的bean來測試場景。而爲了可行性,這些事情需要在項目啓動時考慮。 – 2011-05-24 16:40:42

+0

如果我沒有錯,您想要將更改請求範圍從會話更改爲loginBean,因爲我在登錄時使用loginBean作爲backingBean。這是正確的解釋嗎? – chetan 2011-05-25 05:14:35