Spring MVC 跳转(2)-重定向

本文介绍了Spring MVC中实现重定向的方式,包括不带参数和带参数的重定向方法,并对比了不同方式的特点,例如使用ModelAndView和RedirectAttributes进行重定向的区别。

上一节我们学习了springMVC forward方式的服务端转发,今天小博老师再跟大家介绍一下重定向方式的页面跳转。重定向分为两种情况,一种是不带参数,一种是带参数。先来看看不带参数的方式:

1. 使用ModelAndView

return new ModelAndView("redirect:/product");

这样就可以把请求重定向到/product路径注解的方法,如:

006zipb5zy77y0aTRczc7&690

1. 返回String

return "redirect:/product";

含义同ModelAndView方式,如:

006zipb5zy77y0cpd9H85&690

接下来我们看看带参数的方式:

1. 手工拼接

return new ModelAndView("redirect:/product?company="+boweifeng);

手工拼接有个弊端,传中文可能会有乱码问题。

2. 使用RedirectAttributes自动拼接

006zipb5zy77y0dPCKm0a&690

其原理同手工拼接,RedirectAttribute会把添加的属性转码后附加到URL后。

1. 使用RedirectAttributes,但不拼接URL

006zipb5zy77y0f7a7Ibe&690

我们这里使用了addFlashAttribute方法,这样在请求index,跳转到/product URL时,地址栏并不会携带参数。

其原理是,在对请求的重定向生效之前被临时存储(通常是在session中),并且在重定向之后被立即移除。

转载于:https://my.oschina.net/u/2971691/blog/814042

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值