当你could使用过滤器(或拦截器)在“传统”webapp框架方式中,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");
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)