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