私はPlay2.0 JavaToDOチュートリアルに従おうとしていますが、何らかの理由で動作したくありません。stackoverflow やその他のオンライン リソースに目を通しましたが、これに対する答えが見つからず、気が狂いそうです。
Application.java の添付コード
package controllers;
import models.Task;
import play.data.Form;
import play.mvc.Controller;
import play.mvc.Result;
public class Application extends Controller {
static Form<Task> taskForm = form(Task.class);
public static Result index() {
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;
}
}
タスク java の添付コード
package models;
import java.util.List;
import javax.persistence.Entity;
import play.data.Form;
import play.data.validation.Constraints.Required;
import play.db.ebean.Model.Finder;
import play.mvc.Result;
import controllers.routes;
@Entity
public class Task {
public Long id;
@Required
public String label;
// search
public static Finder<Long,Task> find = new Finder(
Long.class, Task.class);
// display tasks
public static List<Task> all() {
return find.all();
}
// create task
public static void create(Task task) {
task.create(task);
}
// delete task
public static void delete(Long id) {
find.ref(id).delete(id);
// find.ref(id).delete();
}
// create new task
public static Result newTask() {
Form<Task> filledForm = taskForm.bindFromRequest();
if(filledForm.hasErrors()) {
return badRequest(
views.html.index.render(Task.all(), filledForm)
);
} else {
Task.create(filledForm.get());
return redirect(routes.Application.tasks());
}
}
}
行の Task.java でコンパイル エラーが発生します。
static Form<Task> taskForm = form(Task.class);
私はEclipseに取り組んでいるので(プロジェクトはインポート前にEclipse化されています)、taskFormを解決できないことがわかり、「render()、redirect()、bindFromRequest()」などのすべてのplay 2コマンドに下線が引かれ、作成するように求められますそのための方法。コンパイル エラーを解決する方法と、Eclipse に play2 コマンドを認識させる方法はありますか?
編集:
更新された Application.java
package controllers;
import models.Task;
import play.data.Form;
import play.mvc.Controller;
import play.mvc.Result;
public class Application extends Controller {
// create new task
public static Result newTask() {
Form<Task> filledForm = form(Task.class).bindFromRequest();
if(filledForm.hasErrors()) {
return badRequest(
views.html.index.render(Task.all(), filledForm)
);
} else {
Task.newTask(filledForm.get());
return redirect(routes.Application.tasks());
}
}
public static Result index() {
return redirect(routes.Application.tasks());
}
public static Result tasks() {
return ok(
views.html.index.render(Task.all(), taskForm));
}
public static Result deleteTask(Long id) {
return TODO;
}
}
更新された task.java
package models;
import java.util.List;
import javax.persistence.Entity;
import play.data.Form;
import play.data.validation.Constraints.Required;
import play.db.ebean.Model;
import play.db.ebean.Model.Finder;
import play.mvc.Result;
import controllers.routes;
@Entity
public class Task extends Model {
public Long id;
@Required
public String label;
// Define a taskForm
static Form<Task> taskForm = form(Task.class);
// search
public static Finder<Long,Task> find = new Finder(
Long.class, Task.class);
// display tasks
public static List<Task> all() {
return find.all();
}
// create new task
public static Result newTask(Task newTask) {
save(task);
}
// delete task
public static void delete(Long id) {
find.ref(id).delete(id);
// find.ref(id).delete();
}
}