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

我将模板传递给Event对象,我需要做的是检查@event.getSeverity值。 如果值为正,我想以绿色为特定的

着色。 如果值为负,我想用红色为特定的

着色。

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

谢谢

如Play文档中所述,您可以使用@defining帮助程序。

 @defining(if (event.getSeverity > 0) "green" else "red") { color => 
foo
}

或者您可以使用reusable block

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

在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"} } 
foo

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

 @import play.i18n.Messages @import models.Customers @customers = @{Customers.allAccepted()} ... @if(customers.size()>0) {  } 

for ”理解有时也很有用:
@for(id <- products.keys; product = products(id); author = product.author.getOrElse("N/A")) {... @product.name ... @author