2013-10-07 89 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 { 
... 
}