Pessoal, boa noite
Estou me aventurando pelo Play! Framework devido aos projetos da empresa onde vou trabalhar adotar esta tecnologia de desenvolvimento ágil. Para quem ainda não conhece (como eu, por enquanto), segue o site dos caras: http://www.playframework.com/ Pra quem conhece, é o seguinte. Ontem eu estava lendo sobre um exemplo no proprio site dos caras http://www.playframework.com/documentation/2.1.1/JavaTodoList sobre o desenvolvimento de um exemplo em Play. Estou fazendo igual ao exemplo, mas estou travado em um erro aqui. Vou passar tudo o que fiz para facilitar:
Classe model: Task.java
package models;
import java.util.*;
import play.data.validation.Constraints.*;
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)
{
}
}
//Classe controller: Application.java
package controllers;
import play.*;
import play.mvc.*;
import views.html.*;
import play.data.*;
import models.*;
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."));
}*/
public static Result index(){
return ok(routes.Application.tasks());
}
public static Result tasks(){
return ok(views.html.index.render(Task.all, taskForm));
}
public static Result newTasks(){
return TODO;
}
public static Result delete(Long id){
return TODO;
}
}
//View: index.scala.html
@(tasks: List[Task], taskForm: Form[Task])
@import helper._
@main("Todo list"){
<h1>@tasks.size() task(s)</h1>
<ul>
@for(task <- tasks)
{
<li>
@task.label
@form(routes.Application.deleteTask(task.id))
{
<input type="submit" value="Delete">
}
</li>
}
</ul>
<h2>Add a new task</h2>
@form(routes.Application.newTask())
{
@inputText(taskForm("label"))
<input type="submit" value="create">
}
}
//Arquivo routes
# Routes
# This file defines all application routes (Higher priority routes first)
# ~~~~
# Home page
GET / controllers.Application.index()
GET /tasks controllers.Application.tasks()
POST /tasks controllers.Application.newTasks()
POST /tasks/:id/delete controllers.Application.delete(id: Long)
# Map static resources from the /public folder to the /assets URL path
GET /assets/*file controllers.Assets.at(path="/public", file)
O erro vou anexar em formato de imagem (pois os erros de Play aparecem no browser para o usuário)
Como estou começando agora, peço desculpas se a solução for tão facil. Enquanto não recebo nenhuma santa ajuda…rs vou à caça da solução. =D
Segue o erro em anexo.
Agradeço desde já.