仿牛客论坛,
th:replace=“index::header” 报错
index.html中
th:fragment="header"
register.html中
th:replace="index::header"
主要报错是两个:
org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: “class path resource [templates/site/register.html]”)
Caused by: org.attoparser.ParseException: Error resolving template [index], template might not exist or might not be accessible by any of the configured Template Resolvers (template: “/site/register.html” - line 17, col 37)
解决:
- 无法解析模板,首先保证依赖都是对的
- 第二去看application.properties中spring.thymeleaf.prefix=classpath:/templates,这句话代表在Springboot中,默认读取thymeleaf文件的路径是:src/main/resource/templates
- 所有在调用fragment时(也就是th:replace中),是默认从thymeleaf的根路径开始设置的,即我们要调用的header的路径是:templates/index.html。但在application.properties我们配置了templates的路径,所以只需要指定index。
- 这个代码就只需要把th:replace=“index::header"改成th:replace=”/index::header",多加一个斜杠
- 气死我了气死我了气死我了,浪费我一晚上时间