2011-08-10 53 views
0

我有一個JSF頁面,其範圍定義爲請求。 在第一個按鈕,我分配值頁面元素的操作方法之一,因爲當按下按鈕時,JSF頁面值被清除

bean.setEmpNo("abc"); 

在另一個按鈕我打電話的方法來值保存到數據庫中。當我點擊通過點擊第一個按鈕分配的第二個按鈕值被清除。

這是因爲我的範圍是要求嗎? 即使我調用同一頁面中的其他按鈕,最好的方法是保持賦值給頁面屬性的值?

我的JSF版本爲1.1

感謝

回答

0

是請求範圍的生命是請求響應僅..如果你想爲同樣的看法,你可以使用ViewScope

+2

AFAIK JSF 1.1中沒有視圖範圍。因此它必須是會話範圍。 – Thomas

+0

糟糕..沒有注意到版本。是的,你可以移動到會話範圍,但你需要更加小心,然後 –

+0

是的會話範圍對於很多情況來說太寬了。另一種選擇可能是JBoss Seam,它解決了JSF 1.x的這個問題。 – Thomas

0

是的,這將成爲範圍問題。如果你點擊第一個按鈕,你有一個新的請求,並得到一個新的/清除你的bean的實例。你必須讓bean會話的作用域(除非你使用的JBoss Seam在請求和會話之間支持更細粒度的作用域)。

+0

我注意到,如果我將我的JSF頁面元素屬性設置爲readonly =「false」,那麼即使當我單擊第二個按鈕來保存值時,它也會保留這些值。但是,如果我使readonly =「true」,那麼當我單擊第二個按鈕時,該值將爲空。爲什麼? – user75ponic

相關問題