springmvc处理器之间的重定向

  在开发中通常会有这样的需求:我们向后端发送一个请求如对数据的变更,当对数据库操作完成之后,后端就需要return回页面,而在return回页面之前可能还需要对数据进行再查询或其他操作,就需要在处理器之间进行跳转了(跳转到另一个查询或操作数据的处理器)

  自己遇到个小问题,直接return “redirect:/处理器映射?参数名”+参数值; 直接写在了url上发现跳转过去的控制器并不能直接得到数据(另一个处理器上的参数并没有加任何注解),拿到的参数是null值。

  实际上springmvc框架为我们提供了RedirectAttributes类,可以使用方法redirectAttributes.addAttribute(“参数名”, 参数值); 这种方式也相当于在url路径上带参了,安全方面并不能有好的保障。但是这种方式对于上面的错误来说,是可以完美解决的,另一个控制器可以拿到参数值。

  对于参数安全方面而言,同样是RedirectAttributes类,它为我们提供了addFlashAttribute()方法,这个方法的原理是将数据放在session中,跳转之后立刻销毁session中的这个对象。另一个处理器中可以通过getSession()或者直接形参加注解@ModelAttribute(“session名”)都可以获取这个参数值。

转载于:https://www.cnblogs.com/ericheel/p/9165617.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值