SpringBoot----thymeleaf转发与重定向的使用及其自动原理
  GPYyDLfgzzIb 2023年11月02日 127 0



@PostMapping("/emp")
public String addEmp(Employee employee){
 
System.out.println("保存的员工信息"+employee.toString());
 
 
     //redirect:表示重定向到一个地址(提交表单最好用重定向免得表单重复提交)
     //forward:表示转发到一个地址
     // "/" 代表当前项目路径
    return "redirect:/emps";
}


forward:请求转发

redirect:重定向


原理

Ctrl+Shift+T查找到ThymeleafAutoConfiguration这个自动配置类,然后找到thymeleafViewResolver这个方法。

这个方法向容器返回一个thymeleaf的视图解析器,这个视图解析器会替换掉SpringMVC默认的视图解析器。

打开ThymeleafViewResolver这个类,找到createView这个方法,里面的RedirectView这个重定向类,里面的渲染方法

renderMergedOutputModel调用了sendRedirect这个方法,找到这个方法可以看到response.sendRedirect(encodedURL);

总结:

thymeleaf把springmvc的视图解析器组件给换了,然后这个组件会根据你填写的返回值来判断是重定向还是请求转发,然后调用的是原生的Servlet的重定向方法

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

GPYyDLfgzzIb
最新推荐 更多

2024-05-31