上一節咱們學習了springMVC forward方式的服務端轉發,今天小博老師再跟你們介紹一下重定向方式的頁面跳轉。重定向分爲兩種狀況,一種是不帶參數,一種是帶參數。先來看看不帶參數的方式:spring
1. 使用ModelAndViewsession
return new ModelAndView("redirect:/product");學習
這樣就能夠把請求重定向到/product路徑註解的方法,如:code
1. 返回Stringblog
return "redirect:/product";ip
含義同ModelAndView方式,如:get
接下來咱們看看帶參數的方式:io
1. 手工拼接原理
return new ModelAndView("redirect:/product?company="+boweifeng);亂碼
手工拼接有個弊端,傳中文可能會有亂碼問題。
2. 使用RedirectAttributes自動拼接
其原理同手工拼接,RedirectAttribute會把添加的屬性轉碼後附加到URL後。
1. 使用RedirectAttributes,但不拼接URL
咱們這裏使用了addFlashAttribute方法,這樣在請求index,跳轉到/product URL時,地址欄並不會攜帶參數。
其原理是,在對請求的重定向生效以前被臨時存儲(一般是在session中),而且在重定向以後被當即移除。