13

プレイ中は、コントローラーの public-method から呼び出す場合、常にRedirect-After-Post-Pattern に従います。ほとんどの場合、これは適切な動作ですが、場合によっては厄介な場合があります。そこで、play 1.1 でどのように動作するかを調べてみました!: 基本は、.NET で行われるバイトコード拡張play.classloading.enhancers.ControllersEnhancerです。そこには、デフォルトの動作のいくつかの例外がまだ存在することがわかります。

  1. メソッドが package の注釈によって注釈付けされている場合、play.mvcたとえば Before-annotation です。
  2. アクションにByPass-Annotation で注釈を付けます。この Annotation は内部クラスである必要があるため、名前は endWith$ByPassです。

リダイレクトを常に抑制したい場合は、どちらのソリューションでも問題ありません。しかし、特別な状況でのみそれを行いたい場合はどうしますか? その後、 を呼び出すことができますControllerInstrumentation.initActionCall()

それについての説明は見つかりません。コードを分析するだけです。私の結論は正しいですか、それとも欠点がありますか?

4

1 に答える 1

2

私が知っている限り、あなたの仮定は正しいです。

そうは言っても、実行後に終了して何も返さないメソッドが必要だと私は理解していますか? 最後に「render」呼び出し (または別のメソッドへの呼び出し) を追加しないでください。それは機能するはずです。cron ジョブに使用します。

于 2011-01-21T16:57:24.210 に答える