SpringMVC复杂类型的绑定

复杂类型的绑定
1、准备一个复杂对象

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package com.test.pojo;
 
public class User {
 
    private String uname;
    private String pwd;
    private int age;
    private Address address;
 
    public String getUname() {
        return uname;
    }
 
    public void setUname(String uname) {
        this.uname = uname;
    }
 
    public String getPwd() {
        return pwd;
    }
 
    public void setPwd(String pwd) {
        this.pwd = pwd;
    }
 
    public int getAge() {
        return age;
    }
 
    public void setAge(int age) {
        this.age = age;
    }
 
    public Address getAddress() {
        return address;
    }
 
    public void setAddress(Address address) {
        this.address = address;
    }
 
    @Override
    public String toString() {
        return "User{" +
                "uname='" + uname + '\'' +
                ", pwd='" + pwd + '\'' +
                ", age=" + age +
                ", address=" + address +
                '}';
    }
}

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package com.test.pojo;
 
public class Address {
 
    private String province;
 
    private String city;
 
    private String detailAddress;
 
    public String getProvince() {
        return province;
    }
 
    public void setProvince(String province) {
        this.province = province;
    }
 
    public String getCity() {
        return city;
    }
 
    public void setCity(String city) {
        this.city = city;
    }
 
    public String getDetailAddress() {
        return detailAddress;
    }
 
    public void setDetailAddress(String detailAddress) {
        this.detailAddress = detailAddress;
    }
 
    @Override
    public String toString() {
        return "Address{" +
                "province='" + province + '\'' +
                ", city='" + city + '\'' +
                ", detailAddress='" + detailAddress + '\'' +
                '}';
    }
}

  

2、表单中传值的时候,表单控件名称设置为

属性名和表单的控件名一致

子对象中的属性 用 属性名.子对象的属性名

1
2
3
4
5
6
7
8
9
10
11
12
13
<form action="user2/addUser" method="post">
<pre>
    用户名:<input type="text" name="uname" />
    密码:<input type="text" name="pwd" />
    年龄:<input type="text" name="age" />
    省:  <input type="text" name="address.province" />
    市:<input type="text" name="address.city" />
    详细地址:<input type="text" name="address.detailAddress" />
    <input type="submit" name="sub" value="提交" />
</pre>
 
 
</form>

  

3、控制层接收

1
2
3
4
5
6
7
8
9
10
11
12
@RequestMapping("/user2")
public class UserController2 {
 
    @RequestMapping("/addUser")
    public String addUser(User user)
    {
        //直接用user对象接收
        System.out.println(user);
 
        return "success";
    }
}

  

posted @   呆萌老师  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示