上一节咱们学习了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中),而且在重定向以后被当即移除。