Я новичок в Play и Scala / Java.
Я устанавливаю стек typesafe с typesafe.com и создаю новый проект для теста: g8 typesafehub / play-scala После создания аннотации Java TestAnn.java:
package ann;
import play.mvc.With;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@With(TestAnnAction.class)
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.TYPE})
@Documented
@Inherited
public @interface TestAnn {
}
и TestAnnAction.java enter code here
:
package ann;
import play.mvc.Http;
import play.mvc.Result;
import play.mvc.Action;
public class TestAnnAction extends Action<TestAnn> {
@Override
public Result call(Http.Context ctx) throws Throwable
{
System.out.println("called");
return null;
}
}
И добавьте это в контроллер Application.scala:
package controllers
import play.api._
import play.api.mvc._
import ann.TestAnn
object Application extends Controller {
@TestAnn
def index = Action {
Ok(views.html.index("Your new application is ready."))
}
}
Затем я запускаю приложение по "sbtзапустить ", но я не вижу строку" звонил "в терминале после страницы индекса запроса.Нет ошибок и нет результатов.
Что я делаю не так?
Обновление: если я создаю контроллер Java, все работает нормально.Контроллеры пакетов Application.java;
import play.*;
import play.mvc.*;
import views.html.*;
import ann.TestAnn;
public class Application extends Controller {
@TestAnn
public static Result index() {
return ok(index.render("Your new application is ready."));
}
}