我想将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>
部分被转义,因此我没有可点击的链接。有什么办法做到这一点吗?
您应该将Html
的使用转移到外部,或者将其保留在两个位置。
@Html(Messages("my.message", "<a href="/">here</a>"))
问题是内部Html
在传递到Messages
时被转换为String
。然后模板编译器看到Messages
返回一个String
,所以它对其进行转义。在外部添加另一个Html
将防止这种情况发生。