Маршрутизация к действию, унаследованному от базового контроллера во время игры

Я работаю над приложением, использующим Java в Play 1.2.4. У меня есть контроллер B, расширяющий контроллер A. Значит ли это, что контроллер B наследует действия от A? Если да, то как мне направить их без прямой маршрутизации на контроллер A?

Пример:

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


public class ControllerB extends ControllerA {

}

я могу вызвать такое действие: ControllerB.action?


person BooBailey    schedule 07.10.2013    source источник
comment
Я не уверен, что это возможно/легко сделать в игре 1, но в игре 2.x вы можете использовать структуру DI, такую ​​​​как google guice. Это позволит вам создавать одноэлементные контроллеры без статических методов, поэтому наследование будет работать как обычно.   -  person kapex    schedule 07.10.2013


Ответы (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 {
...
}
person emt14    schedule 08.10.2013