@ModelAttribute三个常见作用:
- 被标注了@ModelAttribute的方法都会在Controller的目标方法之前执行。
- 目标方法的参数(JavaBean对象)会先从隐含模型中获取值传入(如果客户端有传就会覆盖)。
text1 2 3
/* 默认情况下SpringMVC会先从隐含模型中,以参数的类名,转成首字母小写 * Book ===>>>> book ,去从隐含模型中取值,并传入参数中 - 被标注在参数上,参数值会按照指定的key从隐含模型中获取值。
public String test2( @ModelAttribute("bookAbc") Book book) {
会从隐含模型中以bookAbc做为key去取值并注入到方法的参数中
text
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@ModelAttribute
public void modelAttributeFun( Map<String, Object> map ) {
System.out.println("modelAttributeFun 方法");
// 往隐含模型中保存数据
map.put("bookAbc", new Book(99, "隐含模型中的数据"));
}
@RequestMapping("/test2")
public String test2( @ModelAttribute("bookAbc") Book book) {
/* 默认情况下SpringMVC会先从隐含模型中,以参数的类型,转成首字母小写
* Book ===>>>> book ,去从隐含模型中取值,并传入参数中
* */
System.out.println("test2 方法调用了!!!!");
System.out.println("参数book的值是:" + book);
return "showData";
}

评论
登录后即可评论
分享你的想法,与作者互动
暂无评论