【发布时间】:2012-04-20 09:04:54
【问题描述】:
是他们将模型传递给 jsp、渲染 jsp 并使用 Spring 将 html 作为字符串返回的一种巧妙方法。然后将 html 用于以编程方式触发的电子邮件中,I do not want to use freemarker,但也许我应该?
请求的 url 是同一个应用程序的一部分。
我希望我的服务层类之一能够调用视图并将 html 用作字符串。
【问题讨论】:
是他们将模型传递给 jsp、渲染 jsp 并使用 Spring 将 html 作为字符串返回的一种巧妙方法。然后将 html 用于以编程方式触发的电子邮件中,I do not want to use freemarker,但也许我应该?
请求的 url 是同一个应用程序的一部分。
我希望我的服务层类之一能够调用视图并将 html 用作字符串。
【问题讨论】:
您可以调用requestDispatcher.include(request, response) 方法。
您将需要实现请求和响应对象。请求对象将向调度程序提供应该呈现哪个页面的所有信息,然后您将传递给调用的响应对象将结果捕获到一个字符串(使用例如 StringBuilder)。
参见例如this tutorial 了解更多信息。
【讨论】:
我猜 servlet 过滤器可以解决问题?不是真正的 Spring 解决方案,但很容易做到。
this answer 似乎也很相关,尽管您可能不一定想在这种情况下使用 DWR。
【讨论】:
您可以使用 Velocity 创建一个email template:
String text = VelocityEngineUtils.mergeTemplateIntoString(
velocityEngine, "emailTemplate.vm", model);
Spring reference docs 中有完整的章节介绍了如何使用 Spring 发送各种类型的电子邮件。
【讨论】: