在Scala Play模板中显示未编码的原始文本

时间:2016-12-01 14:37:26

标签: scala templates encoding playframework

我正在使用Play(+ Scala)中的项目,在特定流程之后,会发送一封电子邮件。

电子邮件使用模板(例如email.scala.html),其中包含HTML并从“模型”(实际上是Map [String,String])中插入数据

我发现一些文本被编码,我不想编码

例如:

<a href="http://madeupsite.com?param1=x&param2=y">link</a>

获取编码类似(通知&替换为&amp;):

<a href="http://madeupsite.com?param1=x&amp;param2=y">link</a>

这将破坏通过电子邮件发送的链接

如何将其包含在模板中:

<a href="@emailModel.get("url").get">link</a>

在代码中:

def prepareEmail(tuple: (Map[String, String], Map[String, String])): HtmlEmail = tuple match {

          case (headers, emailBody) if headers.nonEmpty && emailBody.nonEmpty => {
            def createMessageFromTemplate(model: Map[String, String]): String = {
              views.html.email(model).toString
            }
...

这一行是重要的一点

views.html.email(model).toString

我似乎无法在没有编码

的情况下找到任何渲染内容

例如,这些似乎不起作用:

@Html(...)
@TxtFormat.raw(...)
@TxtFormat.raw(...).toString.replace("&amp;", "&")

我不是Play / Scala专家,所以非常感谢任何帮助

0 个答案:

没有答案