从 Twirl 中的变量渲染换行符
Rendering newline charactors from variable in Twirl
我有一个玩具 Play 框架项目。我的 Java 代码是这样的:
String r = "apple\nbanana";
return ok(index.render(r));
我的 index.scala.html 是这样的
@(r: String)
<table border="1" style="width:98%">
<tbody>
<tr>
<td>@r</td>
</tr>
</tbody>
</table>
问题是,在显示的html中,换行符没有了。我想在 html 中得到两行,但只得到一行。
我什至尝试将 Java 中的行更改为:
String r = "apple<br>banana";
但是html仍然显示一行而不是两行,
它只是显示
"apple<br>banana"
那么如何在 Twirl 中获得两行(使换行符起作用)?
默认情况下,Twirl 从动态内容中转义所有 HTML 标签。如果你想从一个变量中渲染标签,你可以使用 @Html()。在你的情况下它会是这样的:
@(r: String)
<table border="1" style="width:98%">
<tbody>
<tr>
<td>@Html(r)</td>
</tr>
</tbody>
</table>
显然换行符不起作用,因为浏览器在呈现 HTML 输出时会忽略空格。
我有一个玩具 Play 框架项目。我的 Java 代码是这样的:
String r = "apple\nbanana";
return ok(index.render(r));
我的 index.scala.html 是这样的
@(r: String)
<table border="1" style="width:98%">
<tbody>
<tr>
<td>@r</td>
</tr>
</tbody>
</table>
问题是,在显示的html中,换行符没有了。我想在 html 中得到两行,但只得到一行。
我什至尝试将 Java 中的行更改为:
String r = "apple<br>banana";
但是html仍然显示一行而不是两行, 它只是显示
"apple<br>banana"
那么如何在 Twirl 中获得两行(使换行符起作用)?
默认情况下,Twirl 从动态内容中转义所有 HTML 标签。如果你想从一个变量中渲染标签,你可以使用 @Html()。在你的情况下它会是这样的:
@(r: String)
<table border="1" style="width:98%">
<tbody>
<tr>
<td>@Html(r)</td>
</tr>
</tbody>
</table>
显然换行符不起作用,因为浏览器在呈现 HTML 输出时会忽略空格。