缘起
日前在搭建项目的时候使用的是SpringBoot+Thymeleaf框架,在访问页面的时候报错
org.thymeleaf.exceptions.TemplateInputException: Error resolving template xx,Template might not exist or might not be accessible
基本配置如下:
yml:
thymeleaf:
prefix: classpath:/templates/view/
suffix: .html
mode: HTML5
encoding: UTF-8
servlet:
content-type: text/html
cache: false
pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
controller
@RequestMapping("index")
public String index(Model model) {
System.out.println("index");
return "helloworld";
}
html
最终解决方案
是因为在pom中配置了文件过滤
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.yaml</include>
<include>**/*.yml</include>
<include>**/*.properties</include>
<include>**/*.vm</include>
</includes>
<filtering>true</filtering>
</resource>
可以看到这边是没有包含html的,改成如下配置就可以了
<resource>
<directory>src/main/resources</directory>
<!--<includes>-->
<!-- <include>**/*.yaml</include>-->
<!-- <include>**/*.yml</include>-->
<!-- <include>**/*.properties</include>-->
<!-- <include>**/*.vm</include>-->
<!--</includes>-->
<filtering>true</filtering>
</resource>
或者加上html
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.yaml</include>
<include>**/*.yml</include>
<include>**/*.properties</include>
<include>**/*.vm</include>
<include>**/*.html</include>
</includes>
<filtering>true</filtering>
</resource>