无论如何,我的电子邮件都需要是 HTML,如果不需要的话,我不想在我的项目中引入另一种 HTML 生成机制(例如 Velocity)。如果生成的 HTML 中的图像引用能够自动转换为附件,那就太好了。
最佳答案
您应该对其发起 HTTP 请求。
InputStream response = new URL("http://localhost/context/page.jsp").openStream();
如果您想让 JSP 访问与当前请求相同的 session ,请这样做:
String url = "http://localhost/context/page.jsp";
String jsessionid = "jsessionid=" + request.getSession().getId();
InputStream response = new URL(url + ";" + jsessionid).openStream();
不用说,JSP 并不完全是完成这项工作的正确工具。 JSP 是一种基于Web 的 View 技术,而不是一种独立的模板技术。看,您需要触发整个 HTTP 请求才能获取其输出。虽然不一定很贵,但这是很hacky的。
关于java - 如何使用 Spring 轻松使用 JSP 页面作为电子邮件模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3434053/