Spring MVC重定向方式的頁面跳轉(zhuǎn)俗扇。重定向分為兩種情況止潘,一種是不帶參數(shù)瓦宜,一種是帶參數(shù)筐喳。先來看看不帶參數(shù)的方式:
1.使用ModelAndView
return new ModelAndView("redirect:/product");
這樣就可以把請求重定向到/product路徑注解的方法,如:
2.返回String
return "redirect:/product";
含義同ModelAndView方式,如:
接下來我們看看帶參數(shù)的方式:
1.手工拼接
returnnew ModelAndView("redirect:/product悬而?company="+boweifeng);
手工拼接有個(gè)弊端呜舒,傳中文可能會有亂碼問題。
2.使用RedirectAttributes自動拼接
其原理同手工拼接笨奠,RedirectAttribute會把添加的屬性轉(zhuǎn)碼后附加到URL后袭蝗。
3.使用RedirectAttributes唤殴,但不拼接URL
我們這里使用了addFlashAttribute方法,這樣在請求index到腥,跳轉(zhuǎn)到/product URL時(shí)眨八,地址欄并不會攜帶參數(shù)。
其原理是左电,在對請求的重定向生效之前被臨時(shí)存儲(通常是在session中),并且在重定向之后被立即移除页响。