尽管您 可以 使用“传统”
webapp框架方式使用过滤器(或Interceptors),但Play首选方式似乎肯定是组成自定义
Action方法;请参阅有关动作组成的文档。
如果遵循其样式,则将定义一个新的
Action实现,如下所示:
public class UserContextInjectingAction extends play.mvc.Action.Simple { public F.Promise<SimpleResult> call(Http.Context ctx) throws Throwable { Logger.info("Injecting user data into context " + ctx); injectUser(ctx); // Written by you return delegate.call(ctx); }}
您最终将获得如下所示的控制器代码:
@With(UserContextInjectingAction.class)public static Result showHomePage() { return ok("Welcome");}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)