2013-10-07 57 views
0

我正在使用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

+0

我不确定这是可能的/容易做的在玩1,但在玩2.x你可以使用DI框架,如谷歌guice。这将让你创建没有静态方法的单例控制器,所以继承将像往常一样工作。 – Kapep

回答

0

如果我记得的话,IT确实如此。但是最好使用@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 { 
... 
}