2

おもちゃの 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で2行を取得したいのですが、1行しか取得できません。

Javaの行を次のように変更してみました:

 String r = "apple<br>banana";

しかし、html にはまだ 2 行ではなく 1 行が表示されています。

"apple<br>banana"

では、Twirl で (改行文字を機能させる) 2 行を取得するにはどうすればよいでしょうか?

4

1 に答える 1

3

デフォルトでは、Twirl は動的コンテンツからすべての HTML タグをエスケープします。変数からタグをレンダリングする場合は、@Html()を使用できます。あなたの場合、次のようになります。

@(r: String)

<table border="1" style="width:98%">
<tbody>
  <tr>
    <td>@Html(r)</td>
  </tr>
</tbody>
</table>

ブラウザーは HTML 出力のレンダリング中に空白を無視するため、明らかに改行文字は機能しません。

于 2015-06-15T07:09:10.070 に答える