Spring MVC提供了以下几种途径输出模型数据:
1)ModelAndView:处理方法返回值类型为ModelAndView时,方法体即可通过该对象添加模型数据;
2)Map及Model:处理方法入参为org.springframework.ui.Model、org.springframework.ui.ModelMap或java.util.Map时,处理方法返回时,Map中的数据会自动被添加到模型中;
3)@SessionAttributes:将模型中的某个属性暂存到HttpSeession中,以便多个请求之间可以共享这个属性;
4)@ModelAttribute:方法入参标注该注解后,入参的对象就会放到数据模型中。

在SpringMVC的hanlder类中用@ModelAttribute标注的方法,会在该handler内所有目标(action)方法执行之前被SpringMVC调用。

用法示例:

Account.java

 1 package com.dx.springlearn.entities;
 2 
 3 public class Account {
 4     public Integer id;
 5     private String username;
 6     private String password;
 7     private String registerDate;
 8     private String registerIP;
 9 
10     public Account() {
11     }
12 
13     public Account(Integer id, String username, String password, String registerDate, String registerIP) {
14         super();
15         this.id = id;
16         this.username = username;
17         this.password = password;
18         this.registerDate = registerDate;
19         this.registerIP = registerIP;
20     }
21 
22     public Account(String username, String password, String registerDate, String registerIP) {
23         super();
24         this.username = username;
25         this.password = password;
26         this.registerDate = registerDate;
27         this.registerIP = registerIP;
28     }
29 
30     public Integer getId() {
31         return id;
32     }
33 
34     public void setId(Integer id) {
35         this.id = id;
36     }
37 
38     public String getUsername() {
39         return username;
40     }
41 
42     public void setUsername(String username) {
43         this.username = username;
44     }
45 
46     public String getPassword() {
47         return password;
48     }
49 
50     public void setPassword(String password) {
51         this.password = password;
52     }
53 
54     public String getRegisterDate() {
55         return registerDate;
56     }
57 
58     public void setRegisterDate(String registerDate) {
59         this.registerDate = registerDate;
60     }
61 
62     public String getRegisterIP() {
63         return registerIP;
64     }
65 
66     public void setRegisterIP(String registerIP) {
67         this.registerIP = registerIP;
68     }
69 
70     @Override
71     public String toString() {
72         return "Account [
73                 + registerDate + ", registerIP=" + registerIP + "]";
74     }
75 
76     
77 }
View Code

相关文章: