In meiner Play-App habe ich mehrere Aktionen (z. B. "Löschen" einer Entität), die von verschiedenen Seiten ausgelöst werden können. Nachdem die Aktion ausgelöst wurde, möchte ich den Benutzer zurück zu der Seite umleiten, auf der sie sich befanden, bevor ich die Aktion ausgeführt habe. Gibt es ein gutes Muster dafür in Play?
Sie können einfach @request.getHeader("referer")
in Ihren Vorlagen verwenden. Wenn Sie beispielsweise eine Schaltfläche zum Abbrechen haben, mit der Sie zur vorherigen Seite weitergeleitet werden, verwenden Sie Folgendes:
Auf diese Weise müssen Sie keine zusätzlichen Informationen an Ihre Vorlagen weitergeben. (getestet mit play 2.3.4)
Das ist, was ich am Ende gefunden habe, obwohl es nicht besonders elegant ist, und ich würde mich für bessere Möglichkeiten interessieren, es zu tun. Ich habe meinem Formular eine versteckte Eingabe mit der aktuellen Seiten-URL hinzugefügt:
%Vor%Dann in meinem Controller:
%Vor%Der einfachste Weg, den ich gefunden habe, ist von Ihrer Controller-Methode aus:
%Vor%Sie würden also etwas tun wie:
%Vor%Beachten Sie, dass Sie eine Umleitung () und KEIN render () mit einer Flash-Nachricht machen müssen.
Tags und Links scala redirect playframework playframework-2.1