隐形模型属性?

时间:2012-05-10 04:21:33

标签: java playframework

我有一个Product模型,它有一些基本属性,

package models;

import java.util.*;
import javax.persistence.*;

import play.db.ebean.*;
import play.data.validation.*;

@Entity
public class Product extends Model {

    public String name;

    public String description;

    public static Finder<Long,Item> find = new Finder<Long,Item>(
        Long.class, Item.class
    );

}

使用find获取并将List<Product>传递到所需视图的控制器函数,

package controllers;

import play.*;
import play.mvc.*;

import views.html.*;

import models.Product;

public class Application extends Controller {

    public static Result allProducts() {
        return ok(product_page.render(Product.find.all()));
    }

}

以及在列表上迭代并显示这些属性的声明视图。

@(products: List[Product])

<h1>Here are the products:</h1>

<ul>
@for(product <- products) {
    <li>@product.getName()</li>
    <ul>
        <li>@product.getDescription()</li>
    </ul>
}
</ul>

一切看起来都很好(至少对我而言)......但编译器告诉我:

value getName is not a member of models.Product 

我做错了什么? (路线很好,application.conf设置正确,演变也正确......)

2 个答案:

答案 0 :(得分:0)

Product没有 getter 方法

答案 1 :(得分:0)

使用:

 <li>@product.description</li>

BTW:你的发现者应该使用当前模型的类别作为第二种类型

public static Finder<Long,Product> find = new Finder<Long,Product>(
    Long.class, Product.class
);