Spring MVC RedirectView-Beispiel

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
          
          
    

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)