SpringMVC视图解析中的 forward: 与 redirect: …

2020-04-25 16:05:07来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

SpringMVC视图解析中的 forward: 与 redirect: 前缀

在 SpringMVC 中,可以指定画面的跳转方式。使用 forward: 前缀实现请求转发跳转,使用 redirect: 前缀实现重定向跳转。有前缀的转发和重定向操作和配置的视图解析器没有关系,视图解析器不会进行拼串。

请求转发前缀—forward:

使用请求转发跳转方式,url 地址不会改变,一次请求一次相应,跳转到的地址可以获得 request 中的数据。

    /**
     * 请求转发
     */
    @RequestMapping("/hello")
    public String hello(HttpServletRequest request){
        // 跳转到的地址能获得 name 中的值
        request.setAttribute("name", "jack");
        // 当前项目下的 hello.jsp 页面,请区别配置视图解析器的返回值,这里不会进行拼串
        return "forward:/hello.jsp";
    }

重定向前缀—redirect:

使用重定向跳转方式,url 地址会改变,两次请求两次相应,跳转到的地址不可以获得 request 中的数据(因为是两次请求)。

    /**
     * 重定向
     */
    @RequestMapping("/hello")
    public String hello(HttpServletRequest request){
        // 跳转到的地址无法获得 name 中的值
        request.setAttribute("name", "jack");
        // 不需要添加当前的项目名,SpringMVC会自动的添加项目名
        return "redirect:/hello.jsp";
    }

由于重定向方式无法传递参数,解决方法请参考 RedirectAttributes 这一章节。


原文链接:https://www.cnblogs.com/lemon-coke-pudding/p/12774992.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Leetcode 1114 - 按序打印

下一篇:RedirectAttributes 的使用