Spring Handle FlashAttributes after RedirectView

Viewed 515

I have a page check where I add an flashAttribute("error","Test message"); and return an RedirectView to page login.

@RequestMapping(value = "/login")
public ModelAndView mainPage(Model model){

    System.out.println(" - " + model.asMap().get("error") + " - "); //-> - null -

    return new ModelAndView("/login");

}

@RequestMapping(value = "/check")
public View checkLogin(RedirectAttributes redirectAttributes,
                       @RequestHeader(value = "username", required = false)String username,
                       @RequestHeader(value = "password", required = false)String password){

    redirectAttributes.addFlashAttribute("error", "Test message");
    return new RedirectView("/login");

}

This line: model.asMap().get("error") return null. How I can handle RedirectAttributes?

1 Answers

I guess this might help you.

@RequestMapping(value = "/login")
public ModelAndView mainPage(RedirectAttributes redirectAttrs){
    Map<String> attributesMap = redirectAttrs.getFlashAttributes();

    return new ModelAndView("/login");

}

@RequestMapping(value = "/check")
public View checkLogin(RedirectAttributes redirectAttributes,
                       @RequestHeader(value = "username", required = false)String username,
                       @RequestHeader(value = "password", required = false)String password){

    redirectAttributes.addFlashAttribute("error", "Test message");
    return new RedirectView("/login");

}

Hope this helps

Related