1
PlayとScala/Javaの新機能です。が動作しない
私はtypesafe.comからタイプセーフ・スタックをインストールし、テストのための新しいプロジェクトを作成:G8 typesafehub/PLAY-Scalaの を私はアノテーション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 run"でアプリケーションを実行しますが、要求インデックスページの後にターミナルで "called"という文字列が見られません。エラーも結果もありません。
私は間違っていますか?
アップデート:もし私が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."));
}
}
あなたはまだ解決しましたか? – angelokh