В игре вы всегда следуете Redirect-After-Post-Pattern , если вы вызываете из общедоступного метода контроллера. В большинстве случаев это хорошее поведение, но иногда оно может быть неприятным.
Поэтому я попытался выяснить, как это работает в игре 1.1 !:
Основным является некоторое улучшение байтового кода, которое выполняется в play.classloading.enhancers.ControllersEnhancer
.
Там вы можете обнаружить, что все еще существуют некоторые исключения из поведения по умолчанию:
play.mvc
, например аннотацией Before. ByPass
-Annotation, эта аннотация должна быть внутренним классом, поэтому имя заканчивается на $ ByPass
. Оба решения подходят, если вы всегда хотите подавить перенаправление. Но что, если вы хотите сделать это только в особой ситуации?
Затем вы можете вызвать ControllerInstrumentation.initActionCall ()
.
Я не нахожу описания по этому поводу, я просто анализирую код. Итак, мой вывод верен или у меня есть какие-либо недостатки?