2013-07-22 24 views
2

我剛剛從他們的網站下載了播放框架,並且正在通過this tutorial工作。Play Framework不會創建模型

我注意到框架創建文件夾應用程序/控制器和應用程序/視圖,但不是模型文件夾。我手動創建它並將Task.java添加到它。當我看到標題爲「渲染第一頁」的部分並打開localhost:9000/tasks時,出現編譯錯誤package play.models does not exist。這裏是我的Task.java是什麼樣子:

package models; 
import java.util.*; 

public class Task { 
    public Long id; 
    @Required 
    public String label; 

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

    public static void create(Task task) { 
    } 

    public static void delete(Long id) { 
    } 
} 

下面是application.java,文件生成編譯錯誤:

package controllers; 

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

import views.html.*; 
import play.data.*; 
import play.models.*; // COMPILATION ERROR: "package play.models does not exist"! 

public class Application extends Controller { 
static Form<Task> taskForm = Form.form(Task.class); 

public static Result index() { 
    //return ok(index.render("Your new application is ready.")); 
    return redirect(routes.Application.tasks()); 
} 

public static Result tasks() { 
    return ok(views.html.index.render(Task.all(), taskForm)); 
} 

public static Result newTask() { 
    return TODO; 
} 

public static Result deleteTask(Long id) { 
    return TODO; 
} 
} 

回答

0

我相信它應該是import models.Task;而不是import play.models.*;

0

這是本教程中相當混亂(恕我直言)的步驟,而不是向下滾動到Persist the tasks in a database部分,該部分描述了準備與DB合作的模型:)(它擴展了Model類,使用適當的註釋等)

正如您所認識的那樣,您需要自己創建一個models包。

另外,作爲CYN寫道:你應該導入模型,如models.SomeModel到控制器中

0

你是正確的HukeLau_DABA,播放不會爲您創建的模型包。你必須創建它。 我在我的應用程序控制器類中獲得了這些導入。我運行了這個示例遊戲應用程序。

import play.api._ 
import play.api.mvc._ 
import play.api.data.Form 
import play.api.data.Forms._ 
import models.Task 

而在Eclipse中的另一件事是它不會自動導入必要的導入。 現在有點疼,一旦IDE支持變得更好,我希望這會改變。

+0

那些下劃線是什麼?我輸入了這些內容,並收到編譯錯誤。 –

+0

它的通配符類似於Java中的* –

+0

你好,發生了什麼,它工作與否,如果你從這裏得到答案,請接受其中一個答案。 –