我正在尝试将简单的URL传递给播放框架应用中的视图,但是当作为字符串传递时,网址中的&
会更改为&
,这会导致网址不行。
如果我将参数更改为Html,即@(url: Srting)
更改为@(url: Html)
,那么当我尝试将网址作为字符串传递给view.render()
方法时,我会收到错误。
如何将网址转换为Html并将其传递给它?
答案 0 :(得分:35)
要防止视图上的动态内容发生默认转义,您需要使用String
函数包装@Html(String)
:
查看:
@(url: String)
<div class="myLink">
Go to: @Html(url) <br>
not to: @url
</div>
控制器:
public static Result displayLink(){
return ok(view.render("<a href='http://stackoverflow.com/'>Stack Overflow</a>"));
}
有关详细信息,请参阅文档中的The template engine页面(特别是最底部的“转义”部分)。
答案 1 :(得分:5)
如果要呈现HTML内容而不是将其显示为原始文本,请返回内容.as("text/html")
。例如:
WS.url("http://www.stackoverflow.com").get().map(resp => Ok(resp.body).as("text/html"))