title: @ModelAttribute formed model cannot be used in another Controller
body: <p>My UserController.java</p>
  
  <pre><code>@Controller
  @RequestMapping("/userRegistration")
  public class UserController{
  
      @RequestMapping(method = RequestMethod.GET)
      public String showForm(ModelMap model) {
          User user = new User();
          model.addAttribute(user);
          return "userForm";
      }
  
  @RequestMapping(method = RequestMethod.POST)
  public String onFormSubmit(@ModelAttribute("user") User user) {   // **#1**
      return "redirect:userSuccess.htm";                // **#2**
      }
  
  }
  </code></pre>
  
  <p>My SuccessController.java</p>
  
  <pre><code>@Controller
  public class SuccessController {
  
      @RequestMapping("/userSuccess.htm")
      public String getSuccessPage(@ModelAttribute("user") User user){       // **#3**
          return "userSuccess";
      }
  }
  </code></pre>
  
  <p>I am not getting <code>"user"</code> model in <code>SuccessController</code> and so when I use <code>${user.name}</code> in <code>userSuccess.jsp</code>, I don't get any value.</p>
  
  <p>When I set user model at Line 1, why don't I get this value in another controller? If I keep this model in Session using <code>@SessionAttributes</code>, I can access it in another controller.</p>
  
  <p>Then what is the scope of models formed using <code>@ModelAttribute</code>?</p>