正在使用播放2.2.3版本。我有2个控制器,当我试图从一个控制器调用一个方法(包含动作组合)到另一个控制器时,动作类不被调用。播放2 - 呼叫黑白2控制器方法不会调用动作
Controller1.java @CustomAction(actionName="myAction") public static Result getData() { System.out.println("From Controller 1"); return ok("From Controller 1"); }
Controller2.java public static Result index() { System.out.println("From Controller 2"); Result result = Controller1.getData(); String s =new String(JavaResultExtractor.getBody((SimpleResult) result)); return ok(index.render(s)); }
路由 GET /view controllers.Controller2.index() GET /getData controllers.Controller1.getData()
当调用http://localhost:9000/getData
,动作类被调用成功。
但是当我调用http://localhost:9000/view
时,action类没有被调用。
我不确定什么是从另一个控制器调用控制器方法的正确方法。 任何帮助,这将是非常有益的。
在此先感谢
谢谢你的回复Donovan。正如你所说的,我将简要介绍一下用例,以便让我清楚问题陈述。 – user3776440 2014-10-06 14:08:29
用例之一。 - 假设我有一个像'@Restrict(@Group(“admin”))''Controller1''的getData'方法的授权注释,那么如果我从Controller2调用'getData'方法,条件将不会被评估。希望用例清楚。 – user3776440 2014-10-06 14:19:26
是否有任何理由不能将'@Restrict(@Group(“admin”))''添加到'Controller2.index()'中? – 2014-10-06 14:30:53