Play Framework - Mit params umleiten

Ich versuche herauszufinden, wie eine Umleitung innerhalb einer Controller-Aktion in Play (2.0) mit Scala durchgeführt wird.

Die Weiterleitung mit

<code>Redirect(routes.Application.index)
</code>

funktioniert gut

Was ich aus den Dokumenten, der API oder Google nicht herausfinden kann, ist, wie dem Aufruf Parameter hinzugefügt werden.

Ich komme aus Grails, wo dies leicht wie folgt gemacht werden könnte:

Weiterleitungsaktion: "Index", Parameter: ["Schlüssel": "Wert"].

Die einzige Möglichkeit, die ich gefunden habe, besteht darin, Redirect mit einer Zeichenfolge-URL und einer Abfragezeichenfolge aufzurufen, was unangenehm erscheint.

Grundsätzlich möchte ich Redirect (Call) irgendwie nutzen, aber ich kann das Call-Objekt nicht mit Reverse Routing erstellen.

Fehlt mir etwas / bekomme ich das Konzept nicht in Play / Scala?

Danke im Voraus!

Antworten auf die Frage(2)

eine andere Funktion nur für diesen Zweck in Ihrer Steuerung zu erstellen. In deiner Routenkonfiguration kannst du einfach so etwas hinzufügen:

<code>  GET  /google  @controllers.Default.redirect(to = "http://google.com")
</code>
 emlai22. März 2015, 10:21
Muuuuch besser!
 Andy Hayden26. Juli 2016, 00:57
Das scheint nicht zu funktionieren. Ich bekommeNo such file or directory
 Yawo Guillaume Kpotufe22. März 2015, 10:19
@zenith: hoffe es hilft
Lösung für das Problem

Eine Route ist nur eine Funktion. Sie können also wie gewohnt Argumente übergeben:

<code>// Redirect to /hello/Bob
def helloBob = Action {
    Redirect(routes.Application.hello("Bob"))    
}
</code>

Dieser Ausschnitt stammt vonhttp://www.playframework.org/documentation/2.0/ScalaRouting (unten)

 Andy Hayden22. Sept. 2015, 19:40
Hat sich das im letzten Stück geändert? Ich kann anscheinend keine Routen finden / importieren (ich erhalte einen Wert, Routen sind nicht definiert).
 Dan Burton05. Apr. 2012, 01:16
+1 Darum geht es bei typsicheren URLs. Ich wünschte, das Spiel würde sie für das, was sie sind, mehr verkaufen.
 biesior05. Apr. 2012, 10:14
+1 auch für typsichere, @ DanBurton, Danke für Änderungen
 pchronz05. Apr. 2012, 01:10
Vielen Dank! Eigentlich habe ich das zuerst versucht, aber der Compiler hat sich beschwert, dass ich zu viele Argumente eingegeben habe. Das Problem war: Die Aktion dauert lange, aber in dem von mir definierten Routing sollte es einen Standardwert für die Aktion geben. Ich musste das entfernen. Also muss ich jetzt entweder index (None) oder index (Some (foo)) aufrufen. Aus Grails kommend wirkt das sehr mühsam.

Ihre Antwort auf die Frage