spring mvc重定向
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring mvc重定向相关的知识,希望对你有一定的参考价值。
一.不带参数,直接重定向到另一个地址:
返回String直接跳转,如:
@RequestMapping(value = "/filehandle") public String upload(){
return "redirect:/upload.jsp";
}
或者使用使用ModelAndView跳转
@RequestMapping(value = "/filehandle") public ModelAndView upload(){
return new ModelAndView("redirect:/toList");
}
二.带参数重定向
1.手动拼接url
@RequestMapping(value = "/filehandle") public String upload(){ return "redirect:/test.jsp?a=2&b=fdf&c=flase&d=123"; }
jsp上用以下两种方式接收
${param.a}
<%=request.getParameter("a") %>
缺点:
a.参数都会被当成String,强制转换类型会报错
b.因为用get方式,中文中可能会乱码
2.用RedirectAttributes.addAttribute 传参
@RequestMapping(value = "/test") public String upload(RedirectAttributes attr,Model model){ attr.addAttribute("a",2); attr.addAttribute("b","镇耿"); attr.addAttribute("c",false); return "redirect:/test.jsp"; }
不能用Model.addAttribute,因为jsp接不到
jsp接收的方式跟上一个一样
实际上,这个方法实质上跟方法1是一样的,只是这个方法会自动拼接url,所以缺点也跟方法1一样.
3.用RedirectAttributes.addFlashAttribute 传参
以上是关于spring mvc重定向的主要内容,如果未能解决你的问题,请参考以下文章
SPRING IN ACTION 第4版笔记-第七章Advanced Spring MVC-006- 如何保持重定向的request数据(用model占位符RedirectAttributes)(代码