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对象

已经都被赋值成功

posted @ 2018-05-03 17:17  星朝  阅读(670)  评论(0)    收藏  举报