プレイコントローラーのリダイレクト動作にどのように影響を与えることができますか?
-
29-09-2019 - |
質問
遊びでは、あなたは常に従います リダイレクトアフターポストパターン コントローラーの公開測定から電話をかける場合。これはほとんどの場合、良い振る舞いですが、いつかは厄介です。それで、私はそれがプレイ1.1でどのように機能するかを見つけようとしました!:基本はいくつかのバイトコードエンハンスメントであり、 play.classloading.enhancers.ControllersEnhancer
. 。そこでは、デフォルトの動作のいくつかの例外がまだ存在することがわかります。
- あなたの方法がパッケージからの注釈によって注釈が付けられている場合
play.mvc
, 、たとえば、解決前。 - あなたはあなたの行動をで注釈します
ByPass
- 発表、この注釈は内部クラスでなければならないので、名前は終わりました$ByPass
.
リダイレクトを常に抑制したい場合は、両方のソリューションが問題ありません。しかし、あなたが特別な状況でそれをやりたいとしたらどうでしょうか?その後、電話することができます ControllerInstrumentation.initActionCall()
.
私はそれについての説明を見つけません、私はコードを分析するだけです。それで、私の結論は正しいですか、それとも何か欠点がありますか?
解決
あなたの仮定が正しいことを私が知っていることのために。
とはいえ、私が理解しているため、あなたは実行後に終了して何も返さない方法を望んでいますか?最後に「レンダリング」コール(または別の方法への呼び出し)を追加しないでください。私はそれをCronの仕事に使用します。
所属していません StackOverflow