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