1.在anno.jsp中写一个表单
<form action="anno/testModelAttribute" method="post">
用户姓名:<input type="text" name="uname"/><br/>
用户年龄:<input type="text" name="age"/><br/>
<input type="submit" value="提交"/>
</form>
2.在AnnoController类中加上testModelAttribute方法
@Controller
@RequestMapping("/anno")
public class AnnoController {
/**
* ModelAttribute注解
* @return
*/
@RequestMapping("/testModelAttribute")
public String testModelAttribute(User user){
System.out.println("testModelAttribute执行了");
System.out.println(user);
return "success";
}
}
3.部署,发现date的值为null
4.在AnnoController中加入showUser方法
@Controller
@RequestMapping("/anno")
public class AnnoController {
/**
* ModelAttribute注解
* @return
*/
@RequestMapping("/testModelAttribute")
public String testModelAttribute(User user){
System.out.println("testModelAttribute执行了");
System.out.println(user);
return "success";
}
/**
* 该方法会先执行
*/
@ModelAttribute
public User showUser(String uname){
System.out.println("showUser执行了");
//通过用户查询数据库(模拟)
User user=new User();
user.setUname(uname);
user.setAge(20);
user.setDate(new Date());
return user
}
}
5.部署,date有值了
6.修饰无返回值的方法
@Controller
@RequestMapping("/anno")
public class AnnoController {
@RequestMapping("/testModelAttribute")
public String testModelAttribute(@ModelAttribute("abc") User user){
System.out.println("testModelAttribute执行了");
System.out.println(user);
return "success";
}
/**
* 该方法会先执行
*/
@ModelAttribute
public void showUser(String uname, Map<String,User> map){
System.out.println("showUser执行了");
//通过用户查询数据库(模拟)
User user=new User();
user.setUname(uname);
user.setAge(20);
user.setDate(new Date());
map.put("abc",user);
}
}
7.部署,成功