如何访问 playframwork 模板中的枚举

How to access enum in playframwork template

我有一个带有枚举字段的模型class

@Entity
public class Product implements Serializable{

    @Id
    @GeneratedValue
    public long id;

    @Enumerated(EnumType.STRING)
    public ProductType type;
}

我正在通过操作将其推送到模板

public Result index() {
        List<Product> products = getProducts();
        return ok(index.render(products));
    }

现在我无法访问模板中产品的枚举字段。我试过这种方式,但它没有编译。

@for(product <- products){
                    <h1>@product.type</h1>
}

问题是 type 是 Scala 中的保留字(例如 Java 中的 publicclass)。您可以使用反引号对其进行转义:

@for(product <- products){
    <h1>@product.`type`</h1>
}