玩! 框架:在模板中定义一个变量? [重复](Play! framework: define

2019-07-02 13:11发布

这个问题已经在这里有一个答案:

  • 声明变量在Play2阶模板 8个回答

我传递到模板中的Event对象,我需要做的是检查什么@event.getSeverity值。 如果该值是正的,我要的颜色特定<div>绿色。 如果该值为负我想要的颜色的特定<div>红色。

我无法找到一个方法来定义一个变量。 可能吗? 它应该是我的想法。
总之,什么是完成这个最简单的方法是什么?

谢谢

Answer 1:

由于在规定播放文档,你可以使用@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>


Answer 2:

试试这个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>


Answer 3:

另一种变体。 如果进口部分后宣布工作正常。 否则,可能会导致一些错误(“值没有找到”)

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


Answer 4:

“ ”内涵可以也很有用一些时间:
@for(id <- products.keys; product = products(id); author = product.author.getOrElse("N/A")) {... @product.name ... @author



文章来源: Play! framework: define a variable in template? [duplicate]