0

当注册过程完成时,我会从我的 Play 应用程序中发送欢迎电子邮件……并且我想提供在客户端的 Web 浏览器中查看其内容的能力。我试过这样的东西......

@(title: String)(content: Html)

...

<html>
    <head>
        <title>@title</title>

        ...

    </head>

    ...

    <p>Trouble viewing this email? <a href="@views.html.emails.email(title)(content)">View in Browser</p>

    ...

    <body>
        @content
    </body>
</html>

...但是这段代码总是以 [StackOverflowError: null] 结尾:

In /home/j3d/Projects/test/app/views/mails/email.scala.html at line 8.

 5 <html>
 6 <head>
 7    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 8    <title>@title</title>
 9    <style type="text/css">
10        a { color: #4A72AF; }
11        body, #header h1, #header h2, p { margin: 0; padding: 0; }
12        #main { border: 1px solid #cfcece; }

任何帮助将不胜感激:-) 谢谢。

4

2 回答 2

0

显然你@title是空的,确保在控制器中它的字符串有值或在视图中为它设置一些默认值:

@(title: String="Email was sent, check your mailbox")(content: Html)
于 2013-02-10T13:24:07.380 回答
0

我认为您将电子邮件模板包含在 中a href="",而不是将链接放入此页面。

您显示views.html.emails.email视图,其中包括views.html.emails.email视图,其中包括views.html.emails.email视图...您已经了解;)

a解决方案是在您的标签中放置一个真实的链接(而不是内容) 。类似的东西(我不知道你的控制器/路由):

<a href="@routes.Emails.showEmailAction(....)">
于 2013-02-10T19:45:59.733 回答