2016-04-19 24 views
1

Nach einer erfolgreichen Anmeldung wird die folgende Controller-Methode an einen anderen Controller weitergeleitet, um ein Modell und eine Ansicht zu bedienen. Dies funktioniert gut - aber die URL des Browsers zeigt "http://localhost:8080/AppName/loginSuccessForward" nach dem Weiterleiten, obwohl es die Ansicht vom weitergeleiteten Controller anzeigt.Java Spring MVC: Nach dem Weiterleiten des Controllers zeigt der Browser die URL des alten Controllers an, nicht die URL des Controllers, an den er weitergeleitet wird

Gibt es eine Möglichkeit, den Browser die URL des weitergeleiteten Controllers anzeigen zu lassen? Wenn es so funktioniert wie ich es möchte, wird der Benutzer entweder "http://localhost:8080/AppName/l/l/profile" oder "http://localhost:8080/AppName/t/t/profile" im Browser sehen, abhängig davon, welche Benutzerklasse er oder sie ist.

Für den Kontext: Dies ist auf Spring MVC (obwohl wie ein allgemeines Java-Problem scheint).

+2

Natürlich. Es ist ein serverseitiger Forward. Der Client (Webbrowser) ist überhaupt nicht beteiligt. Die Alternative besteht darin, eine * Weiterleitung * zurück an den Browser zu senden, damit * sie * eine neue Anfrage an die aktualisierte URL senden kann. – Andreas

+0

@Andreas - Verstanden, vielen Dank für die Erklärung. Ich wusste nicht, dass das der Unterschied zwischen forward: und redirect: prefixes war. Ich akzeptiere deine Antwort, wenn sie entsperrt wird. – Ovid2020

Antwort