Spring MVC RedirectView exemple

Exemple Spring MVC RedirectView

Dans Spring MVC, org.springframework.web.servlet.view.RedirectView, comme son nom l'indique, une vue redirigeant vers une autre URL absolue, relative au contexte ou relative à la demande actuelle. Dans ce tutoriel, nous vous montrons un exemple complet d'utilisation de la classeRedirectView.

1. RedirectView

Déclarez un bean RedirectView, nommé «DummyRedirect», redirigez vers l'URL «DummyRedirectPage.htm».

Fichier: spring-views.xml


   
   
           
    

2. Manette

Un contrôleur pour renvoyer un ModelAndView nommé «DummyRedirect», qui est une vue RedirectView.

Fichier: 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. Configuration du ressort

Déclaré tous les mappages.

Fichier: mvc-dispatcher-servlet.xml



  

   

   
       
            
                dummyRedirectController
            
        
    

    
     
    

    
          
                /WEB-INF/pages/
           
          
                .jsp
          
          
     

     
       
           /WEB-INF/spring-views.xml
       
       
     

4. Comment ça fonctionne?

2. «ControllerClassNameHandlerMapping» correspond à «DummyController» et renvoie unModelAndView(“DummyRedirect”).

3. «XmlViewResolver» lui correspond et renvoie une URL «DummyRedirectPage.htm».

    
       
    

4. «SimpleUrlHandlerMapping» lui correspond et renvoie un contrôleur «dummyRedirectController».

    
        
            
                dummyRedirectController
            
        
    

5. Le contrôleur ParameterizableViewController, «dummyRedirectController», renvoie une vue nommée «DummyPage».

    
    
    

6. InternalResourceViewResolver le correspond et renvoie la page jsp finale, «/WEB-INF/pages/DummyPage.jsp».

    
          
              /WEB-INF/pages/
           
          
             .jsp
          
          
    

7. L'URL a été modifiée en «http://localhost:8080/SpringMVC/DummyRedirectPage.htm».

Redirect Prefix
Alternativement, si vous avez configuré InternalResourceViewResolver, vous pouvez utiliser les «Redirect Prefix» dans le nom de la vue pour résoudre la vue de redirection. Par exemple,

Fichier: 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
Un des cas d'utilisation est l'application du concept «RedirectView» pour résoudre lesduplicated form submission in Spring MVC.

Télécharger le code source

Téléchargez-le -SpringMVC-RedirectView-Example.zip (7 Ko)