我有一个问题与spring-boot-thymeleaf 2.7.10版本。问题是thymeleaf找不到指定模板的CSS。文件结构为
| +--static/
| | +--css/
| +--templates/
| | +--mail/
| | |
TemplateEngine配置为
@Bean
public SpringResourceTemplateResolver templateResolver() {
SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();
templateResolver.setApplicationContext(this.applicationContext);
templateResolver.setCharacterEncoding("UTF-8");
templateResolver.setPrefix("classpath:/templates/mail/");
templateResolver.setCacheable("classpath:/templates/mail/".startsWith("classpath:/"));
return templateResolver;
}
当我尝试导入CSS文件在我的HTML模板使用
<link rel="stylesheet" type="text/css" media="all" th:href="@{/css/styles.css}" href="../../../../../static/css/styles.css">
我得到一个错误
org.thymeleaf.exceptions.TemplateProcessingException: Link base "/css/styles.css" cannot be context relative (/...) unless the context used for executing the engine implements the org.thymeleaf.context.IWebContext interface
我在stackOverwlow中看到许多答案建议使用这样的定义,但对我不起作用。如何正确导入css到thymeleaf模板?
1条答案
按热度按时间5w9g7ksd1#
你是用电子邮件发的吗
在这种情况下不能使用
context relative
链接--这是您的问题中显示的错误。当用户在gmail中打开这封邮件,浏览器试图解析mail.google.com/css/styles.css
时,你认为会发生什么?你必须使用一个到你的css的绝对链接,或者在你的电子邮件中包括css的整个正文。