Thymeleaf - 无法在电子邮件中添加徽标

时间:2017-01-26 05:17:46

标签: html thymeleaf jhipster

我是thymeleaf和jhipster的新手,我正在制作一个带有百里香的电子邮件模板。我需要在电子邮件中添加徽标图片。我尝试了很多方法,但我很困惑在哪里保存图像以及如何将其添加到电子邮件的html模板中。 th:src = @ {/ logo.png} - 我使用了这个标签,我的图像在里面 项目的web应用的\ src \主\ web应用\ logo.png。

2 个答案:

答案 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/");
    }
}