玩!框架:在模板中定义变量?

我正在向模板传递一个对象,我需要做的是检查值。如果值为正数,我想用绿色为特定颜色。如果值为负数,我想将特定值着色为红色。Event@event.getSeverity<div><div>

我找不到定义变量的方法。可能吗?我认为应该是这样。
无论如何,实现这一目标的最简单方法是什么?

谢谢


答案 1

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>

答案 2

另一个变体。如果在导入部分之后声明,则工作正常。否则可能会导致一些错误(“找不到值”)

@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>
}

推荐