2010-10-02 147 views
0

我有一個非常嚴格的要求,使用POST將請求參數傳遞給我的應用程序在進入。一旦進入應用程序(page1),輸入表單信息並通過commandButton繼續到下一頁(page2),期望的是數據將被髮布並隨後從會話作用域管理bean中讀取。除了在頁面2上使用瀏覽器導航回頁面1以外,所有的都可以正常工作。JSF和瀏覽器返回

我已經嘗試在導航規則中添加一個重定向標記,從page1導航到page2無濟於事。我也嘗試了Post-Get-Redirect模式的實現(http://balusc.blogspot.com/2007/03/post-redirect-get-pattern.html)。我在這裏錯過了很明顯的東西嗎

+0

當您嘗試導航時會發生什麼?你期望發生什麼? – frisco 2010-10-02 08:42:31

+0

我期望在重定向到page2並使用瀏覽器返回page1後page1上的值持續存在。現在,所有的值都丟失了。 – gevaudan 2010-10-02 08:46:29

+0

您正在爲Page1使用的bean的範圍是什麼?如果範圍是「請求」,那麼不要指望在重定向時保留表單中的值。 – 2010-10-06 17:57:21

回答

0

亞伯,page1的範圍是請求。

我們想出的解決方案並不理想,就是在上一頁禁用瀏覽器緩存。這意味着無論何時使用瀏覽器刷新按鈕刷新頁面或單擊瀏覽器後退按鈕,瀏覽器都會指示該頁面已過期,並提示您是否要重新提交請求。

我們確實有圍繞在網頁中提供導航按鈕的工作,但是這個想法是支持瀏覽器回來的。使用GET參數很容易,但POST提供了額外的複雜性,我們已經決定通過提供我們的內部導航按鈕來減輕複雜性。