2017-10-28 14 views
0

에 렌더링 나는 MailSerivce.java에서 다음 sendSportsMail 방법으로 매개 변수 값을 검색 할 수 있습니다.구문 분석 값은 템플릿을 이메일로하고 jhipster

@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()); 
     } 
    } 
} 

하지만 name, email, message 변수 값을 sportsEmail.html 및 구문 분석 방법으로 구문 분석하는 방법을 모르겠습니다. 그럼 누구든지 아이디어를 줄 수 있습니까? sportsEmail.html은 다음과 같습니다.

<!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> 

여기 $ {name}은 (는) null입니다.

답변

2

당신은이 Thymeleaf의 설명서를 참조 Map처럼, 상황에 값을 설정해야합니다.

context.setVariable("name", "someone");