2012-05-10 6 views
0

는 I는 몇 가지 기본적인 특성이 Product 모델 달성 원하는 뷰에 List<Product> 합격 find 사용보이지 않는 모델 속성?

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 
    ); 

} 

제어기 기능

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 

을 뭐하는 거지?

답변

0

Product이없는 게터 방법 (경로가 괜찮 application.conf는 설치가 ... 진화뿐만 아니라 올바른 올바르게입니다)

+0

Play는 자동으로 getter 및 setter 메소드를 생성합니다. 소스에서 필자 자신의 필기 소스를 제공합니다. 적어도 필자는 문서에 명시된 내용을 다음과 같이 설명합니다. http://www.playframework.org/documentation/2.0.1/JavaEbean 편집 : 수동으로 이름에 대한 getter 메소드를 추가했습니다. , 그리고 나는 여전히 같은 문제를 겪고 있습니다 ... – snnth

0

사용 : BTW

<li>@product.description</li> 

: 귀하의 파인더는 현재 모델의 클래스를 두 번째 유형으로 사용해야합니다.

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

나는 벌레와 마주 칠 수도 있다고 생각합니다. 나는 당신의 제안을했지만, 이제 브라우저는 플레이 서버에 전혀 연결할 수 없다 ... 나는 나의 컴퓨터에 돌아 왔을 때 스택 추적을 copypasta 할 수있다. – snnth

+0

예, pastebin.com을 사용하여 전체 제품 모델, 전체보기 및 표시된 오류를 표시하십시오. – biesior