Spring Flash属性和ResourceBundleViewSolver

Spring Flash属性和ResourceBundleViewSolver,spring,Spring,在POST/redirect/GET场景的GET阶段,我面临一个flash属性的问题,我无法检索它。只有在使用ResourceBundleView解算器时才会发生这种情况 视图解析器 form.jsp 总的来说,这是所做的观察: 如果使用资源束视图解析器 以字符串形式返回视图名称-不工作 返回模型和视图-不工作 返回重定向视图-正在工作 如果使用内部视图解析器 以字符串形式返回视图名称-工作 2返回模型和视图-不能用于重定向 返回重定向视图-正在工作 问题是什么?预期的行为是什么,发生了什么?你

在POST/redirect/GET场景的GET阶段,我面临一个flash属性的问题,我无法检索它。只有在使用ResourceBundleView解算器时才会发生这种情况

视图解析器 form.jsp 总的来说,这是所做的观察:

如果使用资源束视图解析器

  • 以字符串形式返回视图名称-不工作
  • 返回模型和视图-不工作
  • 返回重定向视图-正在工作
  • 如果使用内部视图解析器

  • 以字符串形式返回视图名称-工作 2返回模型和视图-不能用于重定向
  • 返回重定向视图-正在工作

  • 问题是什么?预期的行为是什么,发生了什么?你有关于2的文档吗。案例我从来没听说过有一个功能可以用这种方式重定向对不起,一个打字错误。更改了案例2,其中我返回ModelAndView.expecated,所有案例的行为都应该是在第二个处理程序(/home)中,重定向属性和flash参数应该工作,而不是工作。
    <bean class="org.springframework.web.servlet.view.ResourceBundleViewResolver"> 
        <property name="basename" value="spring-views" /> </bean>
    
    form.(class)=org.springframework.web.servlet.view.JstlView
    form.url=/WEB-INF/pages/form.jsp
    
    home.(class)=org.springframework.web.servlet.view.JstlView
    home.url=/WEB-INF/pages/home.jsp
    
    home_redirect.(class)=org.springframework.web.servlet.view.RedirectView
    home_redirect.url=home
    
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    
    
        <form action="register" method="post">
           Name:   <input type="text" name="name"/> <br/>
    
           <input type="submit" value="Submit"/>
        </form>
    
    </body>
    </html>
    
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    
    <html>
    <body>
    
       <h2>  ${status} </h2>
    
    </body>
    </html>
    
    @Controller
    public class WebController {
    
    
        @RequestMapping(value="/form", method=RequestMethod.GET)
        public String showFormPage(){
            return "form";
        }
    
        @RequestMapping(value="/register", method=RequestMethod.POST)
        public ModelAndView login(@RequestParam("name") String name, RedirectAttributes flashMap){
            System.out.println("name = " + name);
            flashMap.addFlashAttribute("status", "Registered successfully");        
            //return new RedirectView("home"); -- with this returned its working 
            return new ModelAndView("home_redirect");  //-- with this returned its not working 
            //return "redirect:home"; // -- not working
        }
    
    
        @RequestMapping(value="/home")  
        public String showHomePage(){
            return "home";
        }
    }