Playframework 从旋转中的变量呈现换行符

Playframework 从旋转中的变量呈现换行符,playframework,playframework-2.0,twirl,Playframework,Playframework 2.0,Twirl,我有一个玩具游戏框架项目。我的Java代码类似于: String r = "apple\nbanana"; return ok(index.render(r)); String r = "apple<br>banana"; 我的index.scala.html类似于 @(r: String) <table border="1" style="width:98%"> <tbody> <tr> <td>@

我有一个玩具游戏框架项目。我的Java代码类似于:

    String r = "apple\nbanana";
    return ok(index.render(r));
 String r = "apple<br>banana";
我的index.scala.html类似于

@(r: String)

<table border="1" style="width:98%">
<tbody>
  <tr>
    <td>@r</td>
  </tr>
</tbody>
</table>
@(r:String)
@r
问题是,在显示的html中,换行符消失了。我想在html中得到两行,但只得到一行

我甚至尝试将Java中的行更改为:

    String r = "apple\nbanana";
    return ok(index.render(r));
 String r = "apple<br>banana";
String r=“苹果
香蕉”;
但是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>
@(r:String)
@Html(r)
显然,新行字符不起作用,因为浏览器在呈现HTML输出时忽略了空格