在我的MVC spring應用程序上,我使用post方法將表單發送到頁面以使用某些參數執行搜索。搜索結果是一個列表,並且可以爲每個條目導航到詳細信息頁面。它工作正常,但是,當用戶嘗試返回到帶有後退瀏覽器按鈕(或Javascript)的結果頁面時,出現「過期頁面」錯誤。刷新頁面,它會重新提交帖子,並且它可以正常工作。Spring mvc結果頁面和返回瀏覽器按鈕
要避免這個錯誤,我添加
response.setHeader("Cache-Control", "no-cache");
到搜索控制器,一切工作正常的Safari和Firefox,但我得到了相同的「過期頁面」錯誤,當我嘗試執行與IE瀏覽器的Web應用程序( 8和9)。
什麼是正確的方式去一個詳細頁面,回來沒有得到任何錯誤?
感謝您的時間!
安德烈
我明白你的觀點,基本上我同意,但在這種情況下,我需要重構大部分應用程序。每當我回到我的頁面時,是否有方法重新提交值? (即在會話中存儲表單參數?使用@ModelAttribute似乎不可能做到這一點 –
如果是這樣的話,您的頁面後退按鈕不應該只回到歷史記錄1;而是在處理程序方法中抓取參數並將它們添加回'Model',以便您可以將它們發送回JSP以供重用。後退按鈕可以是舊形式的提交。 – atrain