有 @ModelAttribute 标记的方法, 会在每个目标方法执行之前被 SpringMVC 调用
<form action="springmvc/TestModelAttribute" method="post">
用户名<input type="text" name="username" value="wang"/><br/>
年龄<input type="text" name="age" value="12"/>
<input type="submit" value="测试ModelAttribute">
</form>
@ModelAttribute
public void getUser(@RequestParam(value="username",required=false) String username,Map<String,Object> map){
if(username!=null){
User user=new User("wang","123",50);
System.out.println("xiugai => username:"+user.getUsername()+",password:"+user.getPassword()+",Age:"+user.getAge());
//放入的键 是类名首字母小写
map.put("user", user);
}
}
@RequestMapping("/TestModelAttribute")
public String TestModelAttribute(User user){
System.out.println("gengxin => username:"+user.getUsername()+",password:"+user.getPassword()+",Age:"+user.getAge());
return SUCCESS;
}
所以,执行TestModelAttribute方法前,先执行getUser方法