除了RESTWeb服务,您还可以使用SpringMVC来提供动态HTML内容。SpringMVC支持各种模板技术,包括thymeleaf、freemaker和jsp。另外,许多其他模板化引擎包括它们自己的SpringMVC集成。

Spring Boot包括以下模板化引擎的自动配置支持:

FreeMarker
Thymeleaf
Mustache

如果可能,应避免使用JSP。在将它们与嵌入的servlet容器一起使用时,有已知的限制。
当您使用其中一个具有默认配置的模板引擎时,您的模板将自动从src/main/resources/templates中获取。

根据应用程序的运行方式的不同,Intellij IDEA对类路径的加载顺序不同。在IDE中通过main方法运行应用程序会导致与使用Maven或Gradle或从其打包的JAR运行应用程序时不同的顺序。这可能导致Spring引导在类路径上找不到模板。如果有这个问题,可以在IDE中重新排序类路径,以将模块的类和资源放在第一位。或者,可以配置模板前缀来搜索类路径上的每个 templates目录,如下所示:classpath*:/templates/。

添加Thymeleaf依赖
要想使用Thhymeleaf,首先要在pom.xml文件中单独添加Thymeleaf依赖。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

Spring Boot默认存放模板页面的路径在src/main/resources/templates或者src/main/view/templates,这个无论是使用什么模板语言都一样,当然默认路径是可以自定义的,不过一般不推荐这样做。另外Thymeleaf默认的页面文件后缀是.html。