20

テンプレートにオブジェクトを渡します。必要なのは値Eventをチェックすることです。@event.getSeverity値が正の場合、特定の色<div>を緑色にします。値が負の場合、特定の色<div>を赤にします。

変数を定義する方法が見つかりませんでした。出来ますか?それは私が思うべきです。
とにかく、これを達成する最も簡単な方法は何ですか?

ありがとう

4

4 に答える 4

42

Playのドキュメントに記載されているように、@definingヘルパーを使用できます。

@defining(if (event.getSeverity > 0) "green" else "red") { color =>
    <div style="background-color: @color">foo</div>
}

または、reusable block

@severityColor(event: Event) = @{
    if (event.getSeverity > 0) "green" else "red"
}

<div style="background-color: @severityColor(event)">foo</div>
于 2012-10-24T20:13:29.067 に答える
10

別の変種。インポートセクションの後に宣言された場合は正常に動作します。そうしないと、エラーが発生する可能性があります(「値が見つかりません」)

@import play.i18n.Messages
@import models.Customers

@customers = @{Customers.allAccepted()}

...

@if(customers.size()>0) {
    <ul>
        @for(customer <- customers) {
            <li>
                <a href="/filters/customer/@customer.id">@customer.name</a>
            </li>
        } 
    </ul>
}
于 2016-02-04T08:29:26.517 に答える
9

これをscalaテンプレートで試してください

@import java.math.BigInteger; var i=1; var k=1  

と文字列の場合

@import java.lang.String; val name="template"

問題の側面

@import java.lang.String; var color="red"
@if(event.getSeverity>0){
@{color="green"}
}
<div style="background-color: @color">foo</div>
于 2014-02-26T15:28:17.177 に答える
2

" for "の内包表記も役立つ場合があります。
@for(id <- products.keys; product = products(id); author = product.author.getOrElse("N/A")) {... @product.name ... @author

于 2016-12-10T20:32:07.213 に答える