我正在尝试在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进行编码。
由于
答案 0 :(得分:0)
我自己发现,Action类必须在一个单独的文件中声明,否则它会生成一个InstantiationException
。