SpringBoot集成thymeleaf不生效问题

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

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

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
26
27
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注解 

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
26
27
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  

 

posted @   leagueandlegends  阅读(1188)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示