Spring Flash属性和ResourceBundleViewSolver
在POST/redirect/GET场景的GET阶段,我面临一个flash属性的问题,我无法检索它。只有在使用ResourceBundleView解算器时才会发生这种情况 视图解析器 form.jsp 总的来说,这是所做的观察: 如果使用资源束视图解析器Spring Flash属性和ResourceBundleViewSolver,spring,Spring,在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";
}
}