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 MVC 中重定向到动态 URL

Spring MVC 重定向在 url 中添加了一些参数

SPRING IN ACTION 第4版笔记-第七章Advanced Spring MVC-006- 如何保持重定向的request数据(用model占位符RedirectAttributes)(代码

spring mvc重定向

在spring MVC中重定向期间传递模型属性并避免在URL中相同

spring mvc 重定向,地址栏带了参数,不想带怎么办