代码之家  ›  专栏  ›  技术社区  ›  A.Wen

将值解析为电子邮件模板并在jhipster中呈现

  •  0
  • A.Wen  · 技术社区  · 9 年前

    我可以在MailSerivce中的以下sendSportsMail方法中检索参数值。Java语言

    @Async
    public void sendSportsMail(String name, String email, String message) {
        log.debug("Sending feedback email to '{}'", email);
        Locale locale = Locale.forLanguageTag("en");
        String subject = messageSource.getMessage("email.sports.title", null, locale);
        Context context = new Context(locale);
        context.setVariable(BASE_URL, jHipsterProperties.getMail().getBaseUrl());
        String content = templateEngine.process("sportsEmail", context);
        sendNewEmail(email, subject, content, false, true);
    }
    
    @Async
    public void sendNewEmail(String to, String subject, String content, boolean isMultipart, boolean isHtml) {
        log.debug("Send email[multipart '{}' and html '{}'] to '{}' with subject '{}' and content={}",
            isMultipart, isHtml, to, subject, content);
    
        // Prepare message using a Spring helper
        MimeMessage mimeMessage = javaMailSender.createMimeMessage();
        try {
            MimeMessageHelper message = new MimeMessageHelper(mimeMessage, isMultipart, CharEncoding.UTF_8);
            message.setTo(to);
            message.setFrom(jHipsterProperties.getMail().getFrom());
            message.setSubject(subject);
            message.setText(content, isHtml);
            javaMailSender.send(mimeMessage);
            log.debug("Sent email to User '{}'", to);
        } catch (Exception e) {
            if (log.isDebugEnabled()) {
                log.warn("Email could not be sent to user '{}'", to, e);
            } else {
                log.warn("Email could not be sent to user '{}': {}", to, e.getMessage());
            }
        }
    }
    

    <!DOCTYPE html>
    <html xmlns:th="http://www.thymeleaf.org">
    <head>
    <title th:text="#{email.sports.title}">sports</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <link rel="shortcut icon" th:href="@{|${baseUrl}/favicon.ico|}"/>
    </head>
    <body>
    <p th:text="${name}">
    
    </p>
    
    </body>
    </html>
    

    1 回复  |  直到 9 年前
        1
  •  2
  •   Gaël Marziou    9 年前

    你必须在语境中设定你的价值观,这就像 Map ,请参阅Thymeleaf的文档。

    context.setVariable("name", "someone");
    
    推荐文章