我有一个URL,该URL在调用时会重定向到另一个URL。我想将一些数据与重定向一起传递。
例如,我有这种方法:
@RequestMapping("efetuaEnvioEmail")
public String efetuaEnvioEmail(HttpServletResponse response) throws IOException {
System.out.println("efetuaEnvioEmail");
return "redirect:inicio";
}
哪个重定向到此:
@RequestMapping("inicio")
public String Inicio(HttpServletRequest request) throws IOException {
return "Inicio";
}
我想传递一些数据,通知第一种方法一切正常。
我尝试了HttpServletRequest和HttpServletResponse的某些方法,但是我什么都没有。
最佳答案
使用RedirectAttributes
在处理程序方法之间传递任何数据:
@RequestMapping("efetuaEnvioEmail")
public String efetuaEnvioEmail(RedirectAttributes rattrs) {
rattrs.addAttribute("string", "this will be converted into string, if not already");
rattrs.addFlashAttribute("pojo", "this can be POJO as it will be stored on session during the redirect");
return "redirect:inicio";
}
@RequestMapping("inicio")
public String Inicio(@ModelAttribute("pojo") String pojo) {
System.out.println(pojo);
return "Inicio";
}