有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使用freemarker生成html以在电子邮件中发送,他们是否打算使用呈现的jsp页面?

电子邮件是使用Spring和java mail sender发送的

我可以使用普通的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


共 (1) 个答案

  1. # 1 楼答案

    您总是可以向自己的web服务器上的JSP发出请求,将响应过滤掉,然后将其放入电子邮件中。这是一个有点黑客,必须小心,以确保你不打开这些网页的外部世界,但它会工作