在Play框架2.1中使用动作合成时出现InstantiationException

时间:2015-03-30 18:02:57

标签: playframework-2.1

我正在尝试在Play(2.1.x)的控制器方法中使用我的第一个Action,但是我得到一个InstantiationException错误,它并没有真正帮助我理解这个问题。

这是我的主控制器中的方法声明:

public class Api extends Controller {

  public class CORSAction extends Action.Simple {
    public Result call(Http.Context ctx) throws Throwable {
      Logger.info("Calling CORSAction for " + ctx);
      Result result = this.delegate.call(ctx);
      Http.Response response = ctx.response();
      response.setHeader("Access-Control-Allow-Origin", "*");
      return result;
    }
  }

  @With(CORSAction.class)
  @Transactional
  public static Result login() {
    // .... some code
    return ok(Json.toJson(response));
  }
}

我在哪里弄错了? 我使用IntelliJ Ultimate Edition进行编码。

由于

1 个答案:

答案 0 :(得分:0)

我自己发现,Action类必须在一个单独的文件中声明,否则它会生成一个InstantiationException