一尘不染

使用freemarker生成要在电子邮件中发送的html,他们还是要使用呈现的jsp页面吗?

jsp

电子邮件是使用Spring和Java邮件发件人发送的。

无论如何,我可以使用普通的jsp视图和jstl标签吗?我不想学习另一堆标签/语法吗?

目前,我的代码如下所示:

StringBuffer content = new StringBuffer();
Configuration configuration = freeMarkerConfigurer.getConfiguration();
String templateName = "vslEmail.ftl";
Map<String, String> templateVars = new HashMap<String, String>();
templateVars.put("firstName", "john");
templateVars.put("surname", "doe");
try {
  content.append(FreeMarkerTemplateUtils.processTemplateIntoString(configuration.getTemplate(ftlName), tempalteVars));
}
catch (Exception e) {
  // handle
}
// content.append("<br>Test data");
sendMime(defaultEmailAddress, subject, content.toString());

我只希望引用jsp而不是ftl?


阅读 318

收藏
2020-06-10

共1个答案

一尘不染

您可以显式呈现一个jsp,但是您需要一个Request对象!

request.getRequestDispatcher("/WEB-INF/mai/myMail.jsp").include(request, response);
2020-06-10