Получение ресурса шаблона скорости не найдено исключение - PullRequest
0 голосов
/ 14 февраля 2019

Я использую java 1.8, java mail 1.5.5 и скорость 1.7.Я реализовал отправку электронной почты успешно без интеграции шаблонов скорости.Но когда я интегрировал Velocity, он не может найти шаблон правильно.Unable to find resource 'templates/email-template.vm'

Фрагмент кода отправителя электронной почты:

public class Utils {
    MimeMessage msg = new MimeMessage(session);
    msg.addHeader("Content-type", "text/HTML; charset=UTF-8");
    msg.addHeader("format", "flowed");
    msg.addHeader("Content-Transfer-Encoding", "8bit");
    msg.setSubject(subject, "UTF-8");
    BodyPart body = new MimeBodyPart();

    VelocityEngine ve = new VelocityEngine();
    ve.init();
    Template t = ve.getTemplate("templates/email-template.vm");
    VelocityContext context = new VelocityContext();
    context.put("message", message);
    StringWriter out = new StringWriter();
    t.merge( context, out );

    body.setContent(out.toString(),"text/html");
    Multipart multipart = new MimeMultipart();
    multipart.addBodyPart(body);
    body = new MimeBodyPart();
    multipart.addBodyPart(body);
    msg.setContent(multipart,"text/html");
    msg.setSentDate(new Date());
    msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(toEmail, false));
    Transport.send(msg);
}

Расположение файлов такое же, как на изображении:

file locations

Поскольку я реализую API здесь, у меня нет папки webapps для хранения шаблонов.Любая идея, почему это местоположение файла не определяется Velocity?Кроме того, это не сработает, даже если я приведу абсолютный путь к файлу шаблона.

email-template.vm:

<html>
 <body style="background-color: #F8F8F8; margin: 0; padding: 0;">
   <div style="width: 630px; margin: 0 auto;">
    <table style="border-collapse: collapse; border-spacing: 0; width: 100%;">
     <tbody>
       <tr>
        <td height="20" style="background-color:#F8F8F8"></td>
       </tr>
       <tr>
        <td style="background-color: #85929E;font-size: 18px; padding: 10px; border-radius: 5px 5px 0 0; border-bottom: 1px solid #cccccc">
            An error occurred while creating entities
        </td>
       </tr>
       <tr>
        <td style="padding: 10px; background-color: #ffffff;  border: 1px solid #85929E; ">
            <p>
                $message
            </p>

        </td>
       </tr>
       <tr>
        <td style="background-color: #85929E; font-size: 12px; text-align: center; padding: 10px; border-radius: 0 0 5px 5px; border-top: 1px solid #cccccc " align="center">
            Appitizer Inc
        </td>
       </tr>
       <tr>
        <td height="60"  style="background-color:#F8F8F8"></td>
       </tr>
    </tbody>
  </table>
 </div>
</body>
</html>
...