soc*_*ket 19 java template-engine scala playframework playframework-2.0
我正在向模板传递一个Event对象,我需要做的是检查@event.getSeverity值.如果值为正,我想以<div>绿色为特定颜色.如果值为负,我想为<div>红色特定颜色.
我找不到定义变量的方法.可能吗?应该是我想的.
无论如何,实现这一目标的最简单方法是什么?
谢谢
Ale*_*lex 42
如播放文档中所述,您可以使用@defining帮助程序.
@defining(if (event.getSeverity > 0) "green" else "red") { color =>
<div style="background-color: @color">foo</div>
}
Run Code Online (Sandbox Code Playgroud)
或者你可以使用 reusable block
@severityColor(event: Event) = @{
if (event.getSeverity > 0) "green" else "red"
}
<div style="background-color: @severityColor(event)">foo</div>
Run Code Online (Sandbox Code Playgroud)
在scala模板中试试这个
@import java.math.BigInteger; var i=1; var k=1
Run Code Online (Sandbox Code Playgroud)
并为字符串
@import java.lang.String; val name="template"
Run Code Online (Sandbox Code Playgroud)
问题方面
@import java.lang.String; var color="red"
@if(event.getSeverity>0){
@{color="green"}
}
<div style="background-color: @color">foo</div>
Run Code Online (Sandbox Code Playgroud)
另一种变体.如果在导入部分后声明,则工作正常 否则可能会导致一些错误("找不到值")
@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>
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22366 次 |
| 最近记录: |