我是thymeleaf和jhipster的新手,我正在制作一个带有百里香的电子邮件模板。我需要在电子邮件中添加徽标图片。我尝试了很多方法,但我很困惑在哪里保存图像以及如何将其添加到电子邮件的html模板中。 th:src = @ {/ logo.png} - 我使用了这个标签,我的图像在里面 项目的web应用的\ src \主\ web应用\ logo.png。
答案 0 :(得分:1)
图片来源应指向邮件阅读器可以访问的主机名的绝对网址。
在JHipster 3中,可以在application*.yml
属性的jhipster.mail.base-url
中配置此URL。您可以在src/main/resources/mails/activationEmail.html
中看到它用于注册链接。
在您的情况下,您的模板应该引用您的图片:th:src="@{|${baseUrl}/logo.png|}"
。
答案 1 :(得分:1)
图像是静态资源。 Thymeleaf(Spring Boot)从类路径和org.webjars中加载静态资源。静态资源应位于src / main / resources / static文件夹中。
示例结构:
myProject
- src
-main
- java
- resources
- static
- css
- style.css
- img
- logo.png
- js
- templates
- home.html
通常在Spring Boot应用程序中,您可以忽略静态资源位置配置,因为它是自动完成的。但是您可以使用以下配置来自定义静态资源加载。
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/webjars/**", "/img/**", "/css/**", "/js/**").addResourceLocations("classpath:/META-INF/resources/webjars/", "classpath:/static/img/", "classpath:/static/css/", "classpath:/static/js/");
}
}