我已将以下html标签添加到引用base.html
的文件中:
<html
xmlns:th="http://www.thymeleaf.org"
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
layout:decorate="~{base}"
>
但是,每当我调用它时,这都会失败并显示以下错误:
[THYMELEAF][http-nio-8080-exec-5] Exception processing template "register":
An error happened during template parsing (template: "/Users/david/IdeaProjects/Greeting/src/main/resources/templates/register.html")
当我删除该行时,html 呈现正常,但它显然没有导入基本.html模板文件。这是我的项目结构:
- resources
- templates
- base.html
- register.html
最后,我在我的 WebConfig 中添加了这个:
private TemplateEngine templateEngine(ITemplateResolver templateResolver) {
SpringTemplateEngine engine = new SpringTemplateEngine();
engine.setTemplateResolver(templateResolver);
engine.addDialect(new LayoutDialect());
return engine;
}
按以下方式执行:
layout:decorator="base"
请注意,该标签称为"装饰器"而不是"装饰"。
以下是详细说明。