Java “价值”;属性";不是“公司”的成员;模型";

Java “价值”;属性";不是“公司”的成员;模型";,java,view,playframework,playframework-2.0,playframework-2.1,Java,View,Playframework,Playframework 2.0,Playframework 2.1,在本教程之后,我将学习Play框架的开发流程 但是,我在index.scala.html视图中遇到了这个编译错误: “值说明不是产品的成员” 这是我的产品型号: package app.models; import java.util.*; import javax.validation.*; import play.data.validation.Constraints.*; /** * Product. */ public class Product { public in

在本教程之后,我将学习Play框架的开发流程

但是,我在
index.scala.html
视图中遇到了这个编译错误:

“值说明不是产品的成员” 这是我的产品型号:

package app.models;

import java.util.*;
import javax.validation.*;
import play.data.validation.Constraints.*;
 
/**
 * Product.
 */
public class Product
{
    public int id;
    public String name;
    public String description;
    public String dimensions;
    public double price;

    public static List<Product> all()
    {
        return new ArrayList<Product>();
    }

    public static void create(Product product)
    {
        return;
    }

    public static void delete(Long id)
    {
        return;
    }
}
package app.models;
导入java.util.*;
导入javax.validation.*;
导入play.data.validation.Constraints.*;
/**
*产品。
*/
公共类产品
{
公共int id;
公共字符串名称;
公共字符串描述;
公共字符串维度;
公开双价;
公共静态列表所有()
{
返回新的ArrayList();
}
公共静态无效创建(产品)
{
返回;
}
公共静态无效删除(长id)
{
返回;
}
}
下面是视图的代码:

@(products: List[Product], productForm: Form[Product])

@import helper._

@main("ezbuy") {
    <h1>@products.size() product(s)</h1>
    
    <ul>
        @for(product <- products) {
            <li>
                @product.description
                
                @form(routes.Application.deleteProduct(product.id)) {
                    <input type="submit" value="Delete">
                }
            </li>
        }
    </ul>
    
    <h2>Add a new product</h2>
    
    @form(routes.Application.newProduct()) {
        @inputText(productForm("label")) 
        
        <input type="submit" value="Create">
    }
}
@(产品:列表[产品],产品形式:形式[产品])
@导入助手_
@主要(“ezbuy”){
@products.size()产品

    @对于(product有一个Scala类Scala.product()。Scala会自动从Scala包导入所有内容。我认为您得到的是该类,而不是app.models.product

    使用完全限定的类名:

    @(products: List[app.models.Product], productForm: Form[app.models.Product])
    

    如果您将产品直接放入模型包中,则不会发生此错误,因为默认情况下,模型。*在Play的Scala模板中导入。因此无需使用完全限定的类名。

    我尝试了您的代码,但未发现编译错误。您发布的视图是否为
    index.Scala.html