0

使用 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 ?

4

2 回答 2

1

你可以显式渲染一个jsp,但你需要一个请求对象!

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

另请参阅此StackOverflow 答案(以及该问题的其他答案)。它显示了一个创建(假)响应对象的示例,该对象允许您处理创建的 html。

于 2012-04-20T09:10:29.793 回答
1

您总是可以向位于您自己的 Web 服务器上的 JSP 发出请求,获取响应,然后将其放入您的电子邮件中。这有点hacky,必须注意确保您不会向外界打开这些页面,但它会起作用。

于 2012-04-20T08:55:31.347 回答