2010-04-10 125 views
0

我有一個包含2個Bean的Jsf表單。第一個Bean範圍:Session。第二個Bean範圍:請求。jsf 1.1中的Bean值更新問題

當某些值通過第一個Bean添加到第二個Bean時,更新的值不會顯示在窗體中。我不知道該怎麼辦。請幫幫我。

回答

1

要麼你開了重定向這導致請求範圍的bean被更新,或值在引起他們後來在JSF生命週期被覆蓋的錯誤時刻更新。

要解決第一個問題,請確保您沒有在導航案例中包含<redirect/>,也沒有在bean操作方法中調用ExternalContext#redirect()。要修復第二個,那麼運行一個調試器。 This article也可能有助於理解JSF引擎蓋下正在發生的事情。

0

BalusC已經證明了這個問題的可能原因。

如果是重定向,刪除重定向可解決問題,但會添加另一個 - 如果用戶刷新頁面,則會要求用戶重新提交表單。

實現從一個頁面到另一個頁面的這種轉換的優選方式是使用對話。 MyFaces Orchestra提供了一個特殊的對話範圍來解決這個問題和更多的問題。