2011-04-08 147 views
0

當我打開兩個瀏覽器和輸入平行細節,值越來越混合。一個瀏覽器中的值在另一個瀏覽器中被填充......我們使用的是JSF框架,並且託管的bean在會話範圍內(讓我們在請求範圍內不可能)...簡而言之,值是在瀏覽器中共享...如何避免這種情況?任何線索?JSF - 會話管理

+0

和管理豆是......? – 2011-04-08 09:17:26

+0

參見[這個問題](http://stackoverflow.com/questions/5593298/jsf-session-issue-in-different-browser-windows)(副本?) – 2011-04-08 10:33:28

+0

你所說的兩個瀏覽器是什麼意思?同一瀏覽器的兩個窗口? – bluefoot 2011-04-08 16:36:33

回答

1

你需要把這個bean的請求或查看範圍來代替。正如你自己遇到過的,在基於會話的bean中存儲基於請求/視圖的數據是一個壞主意。

我認爲視圖範圍會有很大的幫助,因爲你提到請求範圍是「不可能的」(事實上,它只需要預加載正確的數據,以便JSF可以相應地採取正確的操作)。

3

如果「打開兩個瀏覽器」是指你打開瀏覽器相同的兩個窗口則一切是正確的 - 你可以得到的只是一個每個瀏覽器會話(適用於Firefox有插件,它允許以避免此限制)。

但是如果你使用實際上是兩個不同的瀏覽器不是在這種情況下,接縫您保存所有數據,應用範圍或你有你的容器有問題。