繁体   English   中英

Play Framework 2.0.X中的邮件表单

[英]Mail form in Play Framework 2.0.X

我使用的是Play Framework(2.0.4),我想知道用发送电子邮件的表单创建页面的最佳方法是什么。 我知道有一个用于发送电子邮件的插件,所以这不是问题-我可以使用发送电子邮件的方法编写控制器。

我的问题更多是关于我应该提供的操作(在路由文件中)。 是否应该创建一个接受参数(发件人姓名,发件人电子邮件,主题,正文)的POST操作? 还是应该以某种方式创建一个模型对象,该模型对象将填写在表单中并传递给控制器​​中的操作? 最佳做法是什么? 以及如何正确地粘贴它(动作应在route文件中如何显示,视图应如何显示)?

您需要两个视图-一个视图具有表单(我们将其mailForm ),第二个bodyHtml具有该邮件的正文( bodyHtml )。 (如果要发送HTML和TXT版本,则可以选择创建bodyTxt

专用模型将是一个很好的帮助,因为它将帮助您使用Play的Form<T> ,如果需要,您也可以将发送的消息存储在DB中。 无论如何,您还可以在Strings的映射上进行操作-尤其是当您计划制作许多动态表单(字段数未知)时。

填写表单后,将转到一个示例sendEmail()操作,在该示例中,您需要填写Form( bindFromRequest ),最终创建对象并保存到DB,最后作为参数传递给bodyHtml视图。 当然,与其将呈现的视图作为操作的结果返回,还不应该将其与toString一起使用-通过邮件发送。 该操作应将重定向返回到某些“谢谢”页面。 就这样。

注意:写得很快,如果有不清楚的地方,请告诉我...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM