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:方法入参标注该注解后,入参的对象就会放到数据模型中。

@SessionAttributes

1)若希望在多个请求之间共享某个模型属性数据,则可以在控制器类上标注@SessionAttributes,Spring MVC将在模型中对应的属性暂存到HttpSession中。

测试1:

在TestModelData.java中添加方法testSessionAttribute:

1     @RequestMapping("/testSessionAttribute")
2     public String testSessionAttribute(Map<String, Object> map) {
3         Account account = new Account("user1", "pwd123", "2018-01-07", "127.0.0.1");
4         map.put("account", account);
5 
6         System.out.println("testSessionAttribute:"+map);
7         
8         return SUCCESS;
9     }

Account.java

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

相关文章:

  • 2021-11-30
  • 2018-01-07
  • 2022-01-15
  • 2021-07-10
  • 2021-06-07
  • 2021-06-27
  • 2021-12-28
猜你喜欢
  • 2021-08-11
  • 2022-02-23
  • 2022-03-08
  • 2021-08-03
  • 2022-01-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案