我的实体是:UserShoppingList、Product 和 Category 如下:
package models;
import java.util.*;
import play.db.ebean.*;
import play.data.validation.Validation;
import play.data.validation.Constraints.*;
import javax.persistence.*;
import com.avaje.ebean.Ebean;
/**
* Entity managed by Ebean
*/
@Entity
public class UserShoppingList extends Model{
@Id
public Long id;
@Required
public String listName;
@ManyToOne
public User user;
@ManyToMany
public List<Product> products = new ArrayList<Product>();
//getters and setters
//(I have included them, not shown here)
package models;
import java.util.*;
import play.db.ebean.*;
import play.data.validation.Constraints.*;
import javax.persistence.*;
/**
* Product entity managed by Ebean
*/
@Entity
public class Product extends Model{
@Id
public Long Id;
@ManyToOne
public Category category;
@Required
public String brandName;
@Required
public String productName;
// -- Queries
public static Model.Finder<Long,Product> find = new Model.Finder(Long.class, Product.class);
package models;
import java.util.List;
import javax.persistence.*;
import play.db.ebean.*;
import play.data.validation.*;
import play.db.jpa.*;
/**
* Category entity managed by JPA
*/
@Entity
public class Category {
@Id
public Long id;
@Constraints.Required
public String categoryName;
// --getters and setters
我的模板:
@(shoppinglist: List[models.Product], categorylist: List[Category],
userShoppingListsForm: Form[models.UserShoppingList])
@import helper._
@main("Shopping list products") {
var productlist = shoppinglist.getProducts()
<h1>Shopping List</h1>
@for(c <- categorylist){
<ul>
<li class = "categoryrow">@categorylist.getCategoryName()</li>
@for(p <- productlist) {
<ul>
<li class="productcolumn">
@p.getBrandName()
</li>
<li class="productcolumn">
@p.getProductName()
</li>
<li class="command">
id = @p.getId()!
@form(routes.ShoppingLists.deleteProduct(id)) {
<input type="submit" value="Delete">
}
</li>
</ul>
}
</ul>
}
<h2>Add a product to list</h2>
@form(routes.ShoppingLists.newUserShoppingList()) {
@inputText(userShoppingListsForm("listName"))
<input type="submit" value="Create">
}
}
我收到以下错误:
值
getCategoryName
不是java.util.List[models.Category]
有人可以建议我为基于 Java 的 Play 2 框架创建模板以访问本身是列表的实体成员(例如:“UserShoppingList”中的产品吗?
非常感谢任何帮助。太感谢了