@With 注释在 Play Java
@With annotation in Play Java
我不明白@With
PlayJava中注释的意思。
我们在 Whosebug 中有 the same question 似乎是 Play1,而不是 Play2。
而在最新版本的Play文档中,我看到了这个例子。
@With(VerboseAction.class)
public Result verboseIndex() {
return ok("It works!"); }
这是什么意思?上面的例子,带注解和不带注解有什么区别?
很明显@With是用来组合Actions的:
public class VerboseAction extends play.mvc.Action.Simple {
public CompletionStage<Result> call(Http.Context ctx) {
Logger.info("Calling action for {}", ctx);
return delegate.call(ctx);
}
}
您可以使用 @With
注释将操作方法提供的代码与另一个 play.mvc.Action
组合起来:
@With(VerboseAction.class)
public Result verboseIndex() {
return ok("It works!");
}
所以,当verboseIndex
被调用时,首先会调用VerboseAction
的方法call
。因此,在此示例中,首先 Logger.info
将写入一些信息消息,然后 ok
响应将完成。
我不明白@With
PlayJava中注释的意思。
我们在 Whosebug 中有 the same question 似乎是 Play1,而不是 Play2。
而在最新版本的Play文档中,我看到了这个例子。
@With(VerboseAction.class)
public Result verboseIndex() {
return ok("It works!"); }
这是什么意思?上面的例子,带注解和不带注解有什么区别?
很明显@With是用来组合Actions的:
public class VerboseAction extends play.mvc.Action.Simple {
public CompletionStage<Result> call(Http.Context ctx) {
Logger.info("Calling action for {}", ctx);
return delegate.call(ctx);
}
}
您可以使用 @With
注释将操作方法提供的代码与另一个 play.mvc.Action
组合起来:
@With(VerboseAction.class)
public Result verboseIndex() {
return ok("It works!");
}
所以,当verboseIndex
被调用时,首先会调用VerboseAction
的方法call
。因此,在此示例中,首先 Logger.info
将写入一些信息消息,然后 ok
响应将完成。