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

已经都被赋值成功

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

已经都被赋值成功

猜你喜欢

转载自www.cnblogs.com/jpfss/p/8986461.html