起因
在使用Model
传参的过程中,发现使用重定向方法跳转页面以后就丢失了Model
,导致参数丢失。
解决方案
一、使用RedirectAttributesModelMap
代替Model
在这种情况下,直接使用addAttributes
函数的效果与Model
差不多,在重定向的过程中会丢失数据。
但是RedirectAttributesModelMap
还可以使用addFlashAttributes
函数,使用这个函数以后就不会丢失参数了。
二、使用RedirectAttributes
代替Model
直接使用addAttributes
函数则会在重定向中直接在url
后拼接参数,可能会因为参数暴露造成风险。
所以我改为使用addFlashAttributes
函数,就能不通过拼接url
重定向传递参数了。o(*^@^*)o
本文参考了:
1、Shiro学习:记一次model在重定向后的数据丢失
2、Spring MVC RedirectAttributes的用法解决办法