Как я могу повлиять на поведение перенаправления в play-контроллере?

В игре вы всегда следуете Redirect-After-Post-Pattern , если вы вызываете из общедоступного метода контроллера. В большинстве случаев это хорошее поведение, но иногда оно может быть неприятным. Поэтому я попытался выяснить, как это работает в игре 1.1 !: Основным является некоторое улучшение байтового кода, которое выполняется в play.classloading.enhancers.ControllersEnhancer . Там вы можете обнаружить, что все еще существуют некоторые исключения из поведения по умолчанию:

  1. Если ваш метод аннотирован аннотацией из пакета play.mvc , например аннотацией Before.
  2. Вы аннотируете свое действие с помощью ByPass -Annotation, эта аннотация должна быть внутренним классом, поэтому имя заканчивается на $ ByPass .

Оба решения подходят, если вы всегда хотите подавить перенаправление. Но что, если вы хотите сделать это только в особой ситуации? Затем вы можете вызвать ControllerInstrumentation.initActionCall () .

Я не нахожу описания по этому поводу, я просто анализирую код. Итак, мой вывод верен или у меня есть какие-либо недостатки?

13
задан niels 30 September 2013 в 16:57
поделиться