Close

Spring MVC - Flash Attribute Examples

Spring MVC 

@Controller
public class MyController {

@RequestMapping(value = "test/{id}")
public String handleTestRequest (@PathVariable("id") String id, Model model,
RedirectAttributes ra) {
if (!id.matches("\\d+")) {
model.addAttribute("msg", "id should only have digits");
return "error-page";
} else {
ra.addAttribute("attr", "attrVal");
ra.addFlashAttribute("flashAttr", "flashAttrVal");
return "redirect:/test2/{id}";
}
}

@RequestMapping("test2/{id}")
public String handleRequest (@PathVariable("id") String id,
@RequestParam("attr") String attr,
@ModelAttribute("flashAttr") String flashAttr,
Model model) {

model.addAttribute("id", id);
model.addAttribute("attr", attr);
model.addAttribute("flashAttr", flashAttr+"");
return "my-page";
}
}
Original Post




@Controller
@RequestMapping
public class UserRegistrationController {

@Autowired
private UserService userService;

@RequestMapping(value = "register", method = RequestMethod.GET)
public String handleGetRequest (Model model) {
model.addAttribute("user", new User());
return "user-registration";
}

@RequestMapping(value = "register", method = RequestMethod.POST)
public String handlePostRequest (@Valid @ModelAttribute("user") User user,
BindingResult bindingResult,
RedirectAttributes ra) {

if (bindingResult.hasErrors()) {
return "user-registration";
}

userService.saveUser(user);
ra.addFlashAttribute("user", user);
return "redirect:/registration-success";
}

@RequestMapping(value = "registration-success", method = RequestMethod.GET)
public String handleRegistrationDone(@ModelAttribute("user") User user){
System.out.println("user....: "+user);
return "registration-done";
}
}
Original Post




See Also