Пример Spring MVC RedirectView

Spring MVC RedirectView пример

В Spring MVC org.springframework.web.servlet.view.RedirectView, как указано в названии, перенаправляет представление на другой абсолютный, относительный к контексту или текущий относительный URL-адрес запроса. В этом руководстве мы покажем вам полный пример использования классаRedirectView.

1. RedirectView

Объявите bean-компонент RedirectView с именем «DummyRedirect», перенаправляющий на URL-адрес «DummyRedirectPage.htm».

Файл: spring-views.xml


   
   
           
    

2. контроллер

Контроллер для возврата ModelAndView с именем «DummyRedirect», который является представлением RedirectView.

Файл: 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. Конфигурация пружины

Объявлены все сопоставления.

Файл: mvc-dispatcher-servlet.xml



  

   

   
       
            
                dummyRedirectController
            
        
    

    
     
    

    
          
                /WEB-INF/pages/
           
          
                .jsp
          
          
     

     
       
           /WEB-INF/spring-views.xml
       
       
     

4. Как это устроено?

1. Получите доступ к URLhttp://localhost:8080/SpringMVC/dummy.htm.

2. «ControllerClassNameHandlerMapping» соответствует «DummyController» и возвращаетModelAndView(“DummyRedirect”).

3. «XmlViewResolver» соответствует ему и возвращает URL «DummyRedirectPage.htm».

    
       
    

4. «SimpleUrlHandlerMapping» соответствует ему и возвращает контроллер «dummyRedirectController».

    
        
            
                dummyRedirectController
            
        
    

5. Контроллер ParameterizableViewController, «dummyRedirectController», возвращает представление с именем «DummyPage».

    
    
    

6. InternalResourceViewResolver сопоставляет его и возвращает последнюю страницу jsp, «/WEB-INF/pages/DummyPage.jsp».

    
          
              /WEB-INF/pages/
           
          
             .jsp
          
          
    

Redirect Prefix
Альтернатива, если у вас настроен InternalResourceViewResolver, вы можете использовать «Redirect Prefix» в имени представления для разрешения представления перенаправления. Например,

Файл: 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
Один из вариантов использования - применение концепции «RedirectView» для решенияduplicated form submission in Spring MVC.

Скачать исходный код

Скачать -SpringMVC-RedirectView-Example.zip (7KB)