Wie kann ich das Weiterleitungsverhalten in einem Play-Controller beeinflussen?

Im Spiel folgen Sie immer dem Redirect-After-Post-Pattern wenn Sie von einer public-Methode eines Controllers aufrufen. Dies ist in den meisten Fällen ein gutes Verhalten, aber manchmal kann es böse sein. Also habe ich versucht herauszufinden, wie es in Play 1.1 funktioniert !: Das Grundlegende ist eine Byte-Code-Verbesserung, die in @ durchgeführt wirplay.classloading.enhancers.ControllersEnhancer. Dort können Sie feststellen, dass es noch einige Ausnahmen des Standardverhaltens gibt:

Wenn Ihre Methode mit einer Anmerkung aus dem Paket versehen istplay.mvc, zum Beispiel die Vor-Anmerkung.Sie kommentieren Ihre Aktion mit demByPass -Annotation, diese Annotation muss eine innere Klasse sein, damit der Name mit @ end$ByPass.

Beide Lösungen sind in Ordnung, wenn Sie die Weiterleitung immer unterdrücken möchten. Aber was ist, wenn Sie es nur in einer besonderen Situation tun möchten? Dann können Sie @ anrufControllerInstrumentation.initActionCall().

Ich finde keine Beschreibung, ich analysiere nur den Code. Also stimmt mein Fazit oder haben die irgendwelche Nachteile?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage