Welche RedirectView einen Redirect-Header an den Browser kann leider sendet so Browser eine komplette Neuladen der Seite der Fall ist, als ein Ergebnis Modell dort nicht durch bekommt (wie es jetzt mit von Login-Controller gehandhabt wird ein eigenes Modell).
Was können Sie tun, ist Passfehler durch Anfrage Attribute:
In Ihrem views.properties:
loginController.(class)=org.springframework.web.servlet.view.InternalResourceView
loginController.url=/login.htm
Dann statt RedirectView Rückkehr:
request.setAttribute("errors", "example errors");
return new ModelAndView("loginController");
Und in Ihrem Login-Controller Suchen Sie nach diesem Attribut und fügen Sie es dem Modell hinzu.
Update: Ohne Verwendung views.properties:
request.setAttribute("errors", "example errors");
return new ModelAndView(new InternalResourceView("/login.htm"));
oder Sie können hinzufügen (andere) Innenansicht Resolver auf Ihre App-servlet.xml (Hinweis von API: Wenn ViewResolvers Verkettungs, ein InternalResourceViewResolver immer muss letzte sein, da es jede Ansicht Namen aufzulösen versucht, ganz gleich ob die zugrunde liegende Ressource tatsächlich existiert.):
<bean id="viewResolver2"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
</bean>
Und dann benutzen sie einfach:
request.setAttribute("errors", "example errors");
return new ModelAndView("/login.htm");
entschuldigung, ich bin sehr neu zu spring mvc und in der regel webapps im allgemeinen. Ich habe die obigen Vorschläge hinzugefügt, aber ich bekomme den folgenden Fehler Die angeforderte Ressource (/example/WEB-INF/jsp/loginController.jsp) ist nicht verfügbar. Dies kommt von dem View Resolver, den ich konfiguriert habe. – smauel
Ich aktualisierte die Antwort mit einer einfachen Lösung (die erste nahm an, dass Sie veiws.properties zum Auflösen von Sichten verwenden) – serg