Thymeleaf 解析每个模板所对应的解耦逻辑资源的方式可由用户配置。它由一个扩展点 org.thymeleaf.templateparser.markup.decoupled.IDecoupledTemplateLogicResolver 决定,Thymeleaf 为其提供了一个默认实现:StandardDecoupledTemplateLogicResolver
首先,它将前缀和后缀应用于模板资源的基本名称(通过其 ITemplateResource#getBaseName() 方法获得)。前缀和后缀都可以被配置,默认情况下,前缀为空,后缀为 .th.xml。
其次,它要求模板资源通过 ITemplateResource#relative(String relativeLocation) 方法解析具有计算名称的相对资源。
IDecoupledTemplateLogicResolver 的具体实现可以在 TemplateEngine 中轻松配置:
final StandardDecoupledTemplateLogicResolver decoupledresolver = new StandardDecoupledTemplateLogicResolver(); decoupledResolver.setPrefix("../viewlogic/"); ... templateEngine.setDecoupledTemplateLogicResolver(decoupledResolver);