SpringMVC入门:ModelAttribute
ModelAttribute是注解,既可以用在方法上,也可以用在参数上。
用在方法上又分该方法是无返回值,还是有返回值。用在方法上表明该方***比@RequstMapping注解的方法先执行。
使用场景:当表单提交的数据不完整,例如缺少date信息,使用该注解可以补充表单数据
有返回值的方法:
@RequestMapping(path = "/param") public String testModelAttribute(User user){ System.out.println(user); } 表单提交的数据中缺少日期信息 @ModelAttribute public User showUser(String username,Stringpassword){ //该方法能获取到表单提交的数据信息,写入形参即可,形参名必须与表单一致 user.setUsername(username); user.setPassword(password); 可以通过用户名在数据库中查找该用户的日期,然后user.setDate(); return user;这个user一定会被testModelAttribute收到作为其形参值 }
无返回值的方法:
@RequestMapping(path) public String testModelAttribute(@ModelAttribute("one") User user){ System.out.println(user); } 上述代码形参中的注解表示:取出map中key为"one"的值赋给user @ModelAttribute public void showUser(String username,String Password,Map<String,User> map){ user.setxxx; user.setxxx; map.put("one",user);//将user实例存入到map中 }