Ult*_*awk 11 html java casting playframework
我有一个接受Html对象的简单视图(Play!模板).我现在知道这个对象是play.twirl.api.Html(用Java编写).在我想要渲染的控制器中.
return ok(layout.render("<h1> something </h1>"));
我正在玩Play!2.3.x版本
但我找不到从String到Html的有效转换.我已经尝试将String作为新Html对象的ctor参数进行转换和设置,但都失败了.我没有找到关于旋转api的文档.
这是我的问题: 如何在Play中将字符串转换为Html!(Java)没有更改模板?
bie*_*ior 11
你有两种可能性(无论如何你需要修改你的模板)
首先是在视图中转义HTML src:
public static Result foo() {
return ok(foo.render("<h1>Foo</h1>"));
}
Run Code Online (Sandbox Code Playgroud)
查看foo.scala.html:
@(myHeader: String)
@Html(myHeader)
Run Code Online (Sandbox Code Playgroud)
第二是通过准备使用的Html参数:
import play.twirl.api.Html;
//....
public static Result bar() {
return ok(bar.render(Html.apply("<h1>Bar</h1>")));
}
Run Code Online (Sandbox Code Playgroud)
视图 bar.scala.html
@(myHeader: Html)
@myHeader
Run Code Online (Sandbox Code Playgroud)