有两POJO类:
Address.java:
package com.proc;public class Address { private String province; private String city; 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; } @Override public String toString() { return "Address [province=" + province + ", city=" + city + "]"; }}
User.java:
package com.proc;public class User { private String username; private String password; private String gender; private String hobby; private Address address; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public String getHobby() { return hobby; } public void setHobby(String hobby) { this.hobby = hobby; } public Address getAddress() { return address; } public void setAddress(Address address) { this.address = address; } @Override public String toString() { return "User [username=" + username + ", password=" + password + ", gender=" + gender + ", hobby=" + hobby + ", address=" + address + "]"; }}
jsp页面:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8" contentType="text/html; charset=utf-8"%>
控制器类:
package com.proc;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;@Controllerpublic class Test { @RequestMapping("/testPOJO") public String testPOJO(User user){ System.out.println(user); return "hello"; } }
测试:
1、进入jsp页面:
2、点击提交后,控制台输出:
User [username=caoyc, password=123456, gender=male, hobby=tv,swimming, address=Address [province=sichuan, city=chengdu]]
总结:
这里对应address属性使用的是级联属性。
POJO注入数组属性:
上面我们看到hobby是一个多选项。那么可以将hobby设为一个String[]类型的数组。设置后再次:
@RequestMapping("/testPOJO")public String testPOJO(User user){ System.out.println(user); System.out.println(Arrays.toString(user.getHobby())); return "hello";}
输出结果:
User [username=caoyc, password=123456, gender=male, hobby=[Ljava.lang.String;@c3d34, address=Address [province=sichuan, city=chengdu]][tv, swimming]
上面如果输入中文,会出现乱码情况。