Beispiel für Spring MVC RedirectView
In Spring MVC bezeichnet org.springframework.web.servlet.view.RedirectView als name eine Ansicht, die zu einer anderen absoluten, kontextbezogenen oder aktuellen anforderungsbezogenen URL umgeleitet wird. In diesem Tutorial zeigen wir Ihnen ein vollständiges Beispiel für die Verwendung der KlasseRedirectView.
1. RedirectView
Deklarieren Sie eine RedirectView-Bean mit dem Namen „DummyRedirect“ und leiten Sie sie zur URL „DummyRedirectPage.htm“ um.
Datei: spring-views.xml
2. Regler
Ein Controller, der eine ModelAndView mit dem Namen „DummyRedirect“ zurückgibt, bei der es sich um eine RedirectView-Ansicht handelt.
Datei: DummyController.java
package com.example.common.controller; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.AbstractController; public class DummyController extends AbstractController{ @Override protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { return new ModelAndView("DummyRedirect"); } }
3. Federkonfiguration
Alle Zuordnungen wurden deklariert.
Datei: mvc-dispatcher-servlet.xml
dummyRedirectController /WEB-INF/pages/ .jsp /WEB-INF/spring-views.xml
4. Wie es funktioniert?
1. Greifen Sie auf die URLhttp://localhost:8080/SpringMVC/dummy.htm zu.
2. "ControllerClassNameHandlerMapping" stimmte mit "DummyController" überein und gab einModelAndView(“DummyRedirect”) zurück.
3. "XmlViewResolver" stimmte überein und gab eine URL "DummyRedirectPage.htm" zurück.
4. "SimpleUrlHandlerMapping" stimmte überein und gab einen Controller "dummyRedirectController" zurück.
dummyRedirectController
5. Der ParameterizableViewController-Controller „dummyRedirectController“ gibt eine Ansicht mit dem Namen „DummyPage“ zurück.
6. InternalResourceViewResolver matche es und gebe die letzte JSP-Seite "/WEB-INF/pages/DummyPage.jsp" zurück.
/WEB-INF/pages/ .jsp
7. Die URL wurde in "http://localhost:8080/SpringMVC/DummyRedirectPage.htm" geändert.
Redirect Prefix
Alternativ, wenn Sie InternalResourceViewResolver konfiguriert haben, können Sie die Umleitungsansicht mit "Redirect Prefix" im Ansichtsnamen auflösen. Zum Beispiel,
Datei: DummyController.java
//... public class DummyController extends AbstractController{ @Override protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { return new ModelAndView("redirect:DummyRedirectPage.htm"); } }
Use case
Einer der Anwendungsfälle ist die Anwendung des Konzepts „RedirectView“, um dieduplicated form submission in Spring MVC zu lösen.
Quellcode herunterladen
Laden Sie es herunter -SpringMVC-RedirectView-Example.zip (7 KB)