• spring boot整合thymeleaf接口返回接口返回html数据浏览器不显示


    spring boot项目整合thymeleaf

    <dependency>
         <groupId>org.springframework.bootgroupId>
         <artifactId>spring-boot-starter-thymeleafartifactId>
    
     dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    配置文件释放静态资源

    #释放静态资源
    spring.mvc.static-path-pattern=/static/**
    
    • 1
    • 2

    接口返回由thymeleaf引擎构建的页面

    @Controller
    public class UserController {
    
        @Autowired
        private UserService userService;
    
    
        @GetMapping(value = "/")
        String loginMEthod(){
            return "index.html";
        }
    
    
        @PostMapping(value = "/login")
        String loginIdentify(@RequestParam("user") String user,@RequestParam("password") String password){
            User user1 = new User();
            user1.setUserName(user);
            user1.setPassWord(password);
            if (userService.selectUser(user1)){
                return "home.html";
            }else {
                return "index.html";
            }
    
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    在这里插入图片描述
    在这里插入图片描述
    如上图所示接口返回html的文件,但浏览器却不显示。造成这个结果的原因是:Thymeleaf模版默认会使用templates作为视图文件夹,默认以/templates作为前缀,以.html作为后缀。

    在这里插入图片描述

    而我在写接口时由写了一遍html,导致错误。从而返回了名为xxx.html的文件的内容。也可以通过下面的配置更改:

    在这里插入图片描述

    在这个配置后不会还是没有返回页面,但排除为找到路径和无后缀的问题,最后跳转到其他页面是控制器的功能项,需要在控制器更改,这是控制的请求与转发的使用。

    spring mvc请求与转发https://blog.csdn.net/xwh3165037789/article/details/123254513

    在这里插入图片描述

    修改控制器,将请求后转发到相应连接,也可以直接通过下面的方法直接返回视图:

    @GetMapping(value = "/login")
    public ModelAndView method4(){
        ModelAndView view =new ModelAndView();
        view.setViewName("home");
        return view;
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    Error resolving template [login], template might not exist or might not be accessible by any of the configured Template Resolvers

    该错误的意思是view.setViewName("home")视图解析器的名称没有找到。

  • 相关阅读:
    面霸的自我修养:synchronized专题
    前端框架里url中#的真正作用
    ZooKeeper的Linux端安装步骤(内含Java的Linux端安装)
    自压缩llm 为 超长记忆之随机编码(非进制编码)
    【数据库】MySQL中的锁机制
    网络安全(黑客)自学
    数据结构与算法编程题10
    人工智能时代的离散数学教学研究
    代码复杂度分析
    条件判断指令分析 || JVM类加载与字节码技术
  • 原文地址:https://blog.csdn.net/xwh3165037789/article/details/126182434