【问题标题】:Routing to action inherited from base controller on play从基本控制器继承的路由到播放中的动作
【发布时间】:2013-10-08 14:32:12
【问题描述】:

我正在开发一个在 Play 1.2.4 中使用 Java 的应用程序。我有控制器 B 扩展控制器 A。这是否意味着控制器 B 继承了 A 的操作?如果是这样,我如何路由到那些没有直接路由到控制器 A 的?

例子:

public class ControllerA {
    private static void action{
        //I want to run this
    }
}


public class ControllerB extends ControllerA {

}

我可以这样调用操作吗:ControllerB.action

【问题讨论】:

  • 我不确定这在 play 1 中是否可能/容易做到,但在 play 2.x 中,您可以使用像 google guice 这样的 DI 框架。这将允许您创建没有静态方法的单例控制器,因此继承将照常工作。

标签: inheritance playframework


【解决方案1】:

如果我没记错的话。但是,最好使用 @With 注释而不是扩展控制器。

public class Application extends Controller {
    @Before
    static void preAction() {
       Logger.info("Request: [%s]", request);
    }

    public static void login() {
       render();
    }
}


@With(Application.class)
public class Bookings extends Controller {
...
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-19
    • 2014-11-27
    • 1970-01-01
    • 2011-12-06
    • 2014-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多