springmvc使用javabean作为请求参数
1 首先写两个javabean对象 person 和 address 代码如下。两个类之间的关系如代码中
package cn.bean.demo.bo;
public class Person {
private String name;
private String number;
private String sex;
private String age;
private Address address;
public String getName() {
return name;
}public void setName(String name) {
this.name = name;
}public String getNumber() {
return number;
}public void setNumber(String number) {
this.number = number;
}public String getSex() {
return sex;
}public void setSex(String sex) {
this.sex = sex;
}public String getAge() {
return age;
}public void setAge(String age) {
this.age = age;
}public Address getAddress() {
return address;
}public void setAddress(Address address) {
this.address = address;
}@Override
public String toString() {
return "Person [name=" + name + ", number=" + number + ", sex=" + sex + ", age=" + age + ", address=" + address
+ "]";
}}
package cn.bean.demo.bo;
public class Address {
private String city;
private String province;
public String getCity() {
return city;
}public void setCity(String city) {
this.city = city;
}public String getProvince() {
return province;
}public void setProvince(String province) {
this.province = province;
}@Override
public String toString() {
return "Address [city=" + city + ", province=" + province + "]";
}}
2 编写控制器 使用person来作为请求参数
package cn.bean.demo.service;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;import cn.bean.demo.bo.Person;
@Controller
@RequestMapping("/PojoService")
public class PojoService {
public final static String SUCCEEDD="show";@RequestMapping(value="/testPojo",method=RequestMethod.POST)
public String testPojo(Person person){System.out.println("testPojo person :"+person);
System.out.println(person.getAddress());
return SUCCEEDD;
}}
3 写测试类:可以用httpclient来模拟。 我这使用表单进行测试的。 表单代码
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="PojoService/testPojo" method="post">
username:<input type="text" name="name"/>
<br>
number: <input type="text" name="number"/>
<br>
sex: <input type="text" name="sex"/>
<br>
age: <input type="text" name="age"/>
<br>
province: <input type="text" name="address.province"/>
<br>city: <input type="text" name="address.city"/>
<br><input type="submit" value="subit"/>
</form></body>
</html>
测试:
点击提交:为了方便看到控制器中的对象 ,进行断点。
表单中的属性都已经被填充到person对象中
继续向下 看到address对象
已经都被赋值成功


浙公网安备 33010602011771号