如何在java方法中获取JSP的结果?
我正在开发一个餐厅门户网站,该门户网站将定期向注册用户发送电子邮件,例如菜单更改、折扣和优惠、生日祝福等。
这是我的做法 -
- 我使用 HTML 格式创建一个 JSP 页面。此页面接受某些将自定义页面的参数。
- MailDaemon 扫描数据库,并在某个触发条件下向 JSP 发出 GET 请求。
- 返回的 JSP 代表最终的邮件内容,然后使用 JavaMail API 发送该内容。
我的问题是:
- 我真的需要发出 GET 请求吗?或者我可以直接在我的 Daemon 类中获取 JSP 结果吗?
- 我的方法有什么缺点吗?有更好的解决方案(从架构上来说)
- 还有其他适合这项工作的模板解决方案吗?
I am working on a restaurant web portal which will send periodic emails to the registered users such as changes in menu, discounts and offers, birthday wishes etc.
Here is how I am doing it-
- I create a JSP page with the HTML formatting. This page accepts certain parameters that will customize the page.
- The MailDaemon scans the db and upon a certain trigger will make a GET request to the JSP.
- The returned JSP represents the final mail content which is then sent using the JavaMail API.
My questions are these -
- Do I really need to make a GET request? Or can I obtain the JSP result directly in my Daemon class?
- Does my approach have any drawbacks? Any better solutions (architecturally speaking)
- Any other templating solutions for the job?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
javax.servlet.RequestDispatcher#include
通过将原始响应包装在javax.servlet.ServletResponseWrapper
(如果您的MailDaemon
是一个 servlet)javax.servlet.RequestDispatcher#include
by wrapping original response injavax.servlet.ServletResponseWrapper
(in case yourMailDaemon
is a servlet)如果我理解正确的话,您正在使用 JSP 作为模板引擎来生成 HTML 电子邮件的正文。如果您想为此继续使用 JSP,我认为没有比发出 GET 请求来获取生成的 HTML 更好的解决方案了。
但是您也可以使用可嵌入的模板引擎,例如 Velocity 或 FreeMarker 直接从邮件守护进程将 HTML 生成为字符串。
If I understand correctly, you're using the JSP as a templating engine to generate the body of an HTML email. If you want to keep using JSPs for that, I don't think there's a better solution than making a GET request to get the generated HTML.
But you could also use an embeddable templating engine like Velocity or FreeMarker to generate the HTML to a String, directly from the mail daemon.