2013-07-22 5 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

Это довольно запутанное (IMHO) шаг в этом уроке, вместо этого прокрутите вниз до раздела Persist the tasks in a database, в котором описывается подготовка модели к сотрудничеству с БД :) (она расширяет класс 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

его wild card похож на * на Java –

+0

Привет, что случилось, работает оно или нет, если вы получили ответ отсюда, пожалуйста, примите один из ответов. –

Смежные вопросы