Java 如何传递原始html以播放框架视图?
我试图将一个简单的URL传递给play framework应用程序中的视图,但是当作为字符串传递时,URL中的Java 如何传递原始html以播放框架视图?,java,playframework,playframework-2.0,Java,Playframework,Playframework 2.0,我试图将一个简单的URL传递给play framework应用程序中的视图,但是当作为字符串传递时,URL中的&将更改为&导致URL不起作用 如果我将参数更改为Html,即@(url:Srting)更改为@(url:Html),那么当我尝试将url作为字符串传递给view.render()方法时,会出现错误 如何将url转换为Html并以此方式传递?要防止视图上的动态内容发生默认转义,您需要使用@Html(String)函数包装字符串: 视图: @(url:String) 转到:@Html
&
将更改为&代码>导致URL不起作用
如果我将参数更改为Html,即@(url:Srting)
更改为@(url:Html)
,那么当我尝试将url作为字符串传递给view.render()
方法时,会出现错误
如何将url转换为Html并以此方式传递?要防止视图上的动态内容发生默认转义,您需要使用@Html(String)
函数包装字符串
:
视图:
@(url:String)
转到:@Html(url)
不发送到:@url
控制器:
public static Result displayLink(){
return ok(view.render("<a href='http://stackoverflow.com/'>Stack Overflow</a>"));
}
公共静态结果显示链接(){
返回ok(view.render(“”);
}
有关更多信息,请参见文档页面(特别是最底部的“转义”部分)。如果要呈现HTML内容而不是将其显示为原始文本,请将内容.as(“text/HTML”)
返回。例如:
WS.url("http://www.stackoverflow.com").get().map(resp => Ok(resp.body).as("text/html"))
我需要将此批注放在哪里?在控制器中?例如,现在在我的控制器中我正在做:stringurl=SomeModel.getUrl();返回ok(myView.render(url))代码>。我应该把@html()
注释放在哪里?
WS.url("http://www.stackoverflow.com").get().map(resp => Ok(resp.body).as("text/html"))