• SpringBoot集成thymeleaf不生效问题


    场景:在做springBoot整合Theamleaf时,用了@RestController注解,在进行试图渲染的过程中,遇到试图没有渲染成功,找到了原因,记录一下。

     第一种情况:使用@RestController注解

    package com.example.demo;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    import java.util.Map;
    
    @RestController
    public class HelloController {
    
        @ResponseBody
        @RequestMapping("/hello")
        public String hello(Map<String,Object> map){
            // 默认要去classpath:templates下查找success.html
            map.put("hello","你好");
            return "success";
        }
    
        @RequestMapping("/success")
        public String success(Map<String,Object> map){
            // 默认要去classpath:templates下查找success.html
            map.put("hello","你好");
    
            return "success";
        }
    }

     访问路径结果:

    第一个路径返回的是一个页面

    第二个路径返回的是一个字符串

    第二种情况:使用@Controller注解 

    package com.example.demo;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    import java.util.Map;
    
    @Controller
    public class HelloController {
    
        @ResponseBody
        @RequestMapping("/hello")
        public String hello(Map<String,Object> map){
            // 默认要去classpath:templates下查找success.html
            map.put("hello","你好");
            return "success";
        }
    
        @RequestMapping("/success")
        public String success(Map<String,Object> map){
            // 默认要去classpath:templates下查找success.html
            map.put("hello","你好");
    
            return "success";
        }
    }
    

    @RestController相当于@Controller+@ResponseBody

    故如果用@RestController返回结果被@ResponseBody序列化成字符串了

    需要使用@Controller而非@RestController

    参考链接:https://blog.csdn.net/qq_38423256/article/details/118074957  

     

  • 相关阅读:
    React数据通信父传子和子传父的使用
    React类组件中事件绑定this指向的三种方式
    React中函数组件与类组件的两种使用
    React中生命周期的讲解
    React中Props的详细使用和props的校验
    vue3.2新增指令vmemo的使用
    Cypress测试报告生成
    逆双线性插值及其推导
    2022年6月股票推荐
    操作系统:设备I/O 如何表示设备类型与设备驱动?
  • 原文地址:https://www.cnblogs.com/longlyseul/p/16629676.html
Copyright © 2020-2023  润新知