标签:
一.不带参数,直接重定向到另一个地址:
返回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 传参
标签:
原文地址:http://www.cnblogs.com/zhuzhixijiang/p/5175951.html