1

我正在写一个 PlayPlugin。在 rawInvocation(request, response) 方法中,我创建了一个我希望所有控制器都可以访问的对象。实现这一目标的首选方法是什么?每个用户都有自己的对象。似乎尚未创建 Play 会话,因此我无法将其存储在那里。谢谢

克里斯蒂安·古尔德纳

4

2 回答 2

2

如果你想使用你的插件创建一个全局过滤器,那么最好覆盖PlayPlugin.beforeActionInvocation方法:

public class MyPlugin extends PlayPlugin{
  @override public void beforeActionInvocation(Method actionMethod) {
     Object myObject = ...
     Http.Request.current().args.put("myobject", myObject);
  }
}

在您的任何控制器中,您都可以通过以下方式获取对象:

对象我的对象 =Http.Request.current().args.get("myobject")

于 2012-05-16T12:31:12.170 回答
0

我不确定这是否是最好的或推荐的方式,但您始终可以将其添加到 request.param

于 2012-05-16T11:44:13.113 回答