6

最新のPlay Framework 2.1.1メッセージ、変数、単純な for ループなどを使用して、Scala テンプレートで生の HTML を出力する必要があります。すべて正常に動作しています。しかし、何らかのロジックを実行して生の HTML をテンプレートに出力する必要がある場合はどうすればよいでしょうか?

@{
    val courts = venue.getCourts()
    val totalWidth : Int = 920
    .. some other initialization variables/values

    var output : String = ""
    for(court <- courts) {
        output += "<p>SomeComplexString</p>"
    }

    output
}

この場合、@{}関数は戻りますoutputが、その HTML はエスケープされており、あまり実用的ではありません (output戻る前にすべてを 1 つの変数に結合する)。

次のようなものを置くと

for(court <- courts) {
    println("<p>SomeComplexString</p>")
}

動作していません (コンパイル エラーは発生しませんが、出力には何もありません)。

私はそれをできた

@for(court <- courts) {
    <p>SomeComplexString</p>
}

しかし、その後は範囲外になります(最初にテンプレート変数としてcourts定義できないとだけ言っておきましょう)。courts

解決策は何ですか?

4

1 に答える 1