テンプレートにオブジェクトを渡します。必要なのは値Event
をチェックすることです。@event.getSeverity
値が正の場合、特定の色<div>
を緑色にします。値が負の場合、特定の色<div>
を赤にします。
変数を定義する方法が見つかりませんでした。出来ますか?それは私が思うべきです。
とにかく、これを達成する最も簡単な方法は何ですか?
ありがとう
テンプレートにオブジェクトを渡します。必要なのは値Event
をチェックすることです。@event.getSeverity
値が正の場合、特定の色<div>
を緑色にします。値が負の場合、特定の色<div>
を赤にします。
変数を定義する方法が見つかりませんでした。出来ますか?それは私が思うべきです。
とにかく、これを達成する最も簡単な方法は何ですか?
ありがとう
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>
別の変種。インポートセクションの後に宣言された場合は正常に動作します。そうしないと、エラーが発生する可能性があります(「値が見つかりません」)
@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>
}
これを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>
" for "の内包表記も役立つ場合があります。
@for(id <- products.keys;
product = products(id);
author = product.author.getOrElse("N/A")) {...
@product.name
...
@author