spring mvc重定向问题
Spring在重定向时一般是这样:
- new ModelAndView("redirect:"+url);
主要目的就是防止重复提交,但这样有个问题,那就是重定向后保存在request中的数据就没有了,那么数据就只能保存在session中,显然这样做就有些不合理。
RedirectView可以部分解决这个问题,思路是先通过RedirectView重定向,再通过ModelAndView实现查询调转,大体如下:
- return new ModelAndView(new RedirectView("../paywaycol/list.do"));
即如果要显示放在request中的数据,只需要在list.do中查询设置即可,RedirectView将URL重定向到查询页面,这样就解决了重复提交的问题了。
当然上面的代码与直接加redirect:前缀是一样的:
- return new ModelAndView("redirect:../paywaycol/list.do");