上一節(jié)我們學(xué)習(xí)了springMVCforward方式的服務(wù)端轉(zhuǎn)發(fā),今天小博老師再跟大家介紹一下重定向方式的頁(yè)面跳轉(zhuǎn)。重定向分為兩種情況,一種是不帶參數(shù),一種是帶參數(shù)。先來(lái)看看不帶參數(shù)的方式:
1.使用ModelAndView
return new ModelAndView("redirect:/product");
這樣就可以把請(qǐng)求重定向到/product路徑注解的方法,如:
1.返回String
return "redirect:/product";
含義同ModelAndView方式,如:
接下來(lái)我們看看帶參數(shù)的方式:
1.手工拼接
returnnew ModelAndView("redirect:/product?company="+boweifeng);
手工拼接有個(gè)弊端,傳中文可能會(huì)有亂碼問(wèn)題。
2.使用RedirectAttributes自動(dòng)拼接
其原理同手工拼接,RedirectAttribute會(huì)把添加的屬性轉(zhuǎn)碼后附加到URL后。
1.使用RedirectAttributes,但不拼接URL
我們這里使用了addFlashAttribute方法,這樣在請(qǐng)求index,跳轉(zhuǎn)到/product URL時(shí),地址欄并不會(huì)攜帶參數(shù)。
其原理是,在對(duì)請(qǐng)求的重定向生效之前被臨時(shí)存儲(chǔ)(通常是在session中),并且在重定向之后被立即移除。