我希望将HTML文本作为参数传递给Twirl模板中的消息,但是当呈现模板时,HTML会被转义。例如,如果我的messages
文件包含:
my.message=Click {0} to proceed
我的template.scala.html
已
<p>@Messages("my.message", Html("<a href="/">here</a>"))</p>
当我在浏览器中打开页面时,<a href="/"here</a>
部分被转义,因此我没有可点击的链接。有没有办法实现这个目标?
答案 0 :(得分:4)
您应该将Html
的使用移至外部,或将其保留在两个位置。
@Html(Messages("my.message", "<a href=\"/\">here</a>"))
问题是内部Html
在传递到String
时会转换为Messages
。然后模板编译器看到Messages
返回String
,因此它会逃脱它。在外面添加另一个Html
将阻止这种情况。