SpringBoot返回html页面
一般Controller返回数据或页面,今天谈一下返回页面的场景。
一.不使用template
1. controller中定义对应的访问路由及返回的页面(使用Controller,不要使用RestController),如:
@GetMapping("/hello") public String test2() { return "hello"; }
2.在SpringBoot配置文件中配置SpringMVC
spring: mvc: view: prefix: / suffix: .html
3.html文件配置路径。
静态文件要放在SpringBoot默认的加载路径下(SpringBoot中的src/main/resources/文件夹对应classpath:):
classpath:/META-INF/resources、classpath:/resources、classpath:/static、classpath:/public
二.使用thymeleaf
1.引入thymeleaf依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
2.html放在classpath:/templates下。如果html都是放在templates下,SpringBoot的配置文件不要配置,因为默认配置就是这个路径。
3.如果要自定义需要在SpringBoot配置文件中自定义配置。
spring:
thymeleaf:
suffix: .html
prefix: classpath:/xx/xx/
如果有更深层的路径,可以在controller的返回值拼上对应的html路径。
如配置为:prefix: classpath:/templates/,现要返回templates/order/order.html,controller就要返回 "order/order"