SpringMVC-2 使用POJO作为参数

来源:互联网 发布:服务器跟域名绑定 编辑:程序博客网 时间:2024/06/04 18:02

POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。
一般一张表单的内容实际可以对应一个POJO,用户在表单上填的一系列值将被填入一个对应的空POJO里,后台程序可以直接使用。
struts2使用参数拦截器,在action中要特地定义一个POJO的变量。
在SpringMVC中通过以下方法实现:
(1)准备POJO:User.java和Address.java

package com.csu.springmvc.entities;public class User {    private String username;    private String password;    private Address address;    //如果没有无参构造器,则报错,无法装载pojo    public User() {        // TODO Auto-generated constructor stub    }    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 Address getAddress() {        return address;    }    public void setAddress(Address address) {        this.address = address;    }    public User(String username, String password, Address address) {        super();        this.username = username;        this.password = password;        this.address = address;    }    @Override    public String toString() {        return "User [username=" + username + ", password=" + password + ", address=" + address + "]";    }}
package com.csu.springmvc.entities;public class Address {    private String province;    private String street;    public Address() {        // TODO Auto-generated constructor stub    }    public String getProvince() {        return province;    }    public void setProvince(String province) {        this.province = province;    }    public String getStreet() {        return street;    }    public void setStreet(String street) {        this.street = street;    }    public Address(String province, String street) {        super();        this.province = province;        this.street = street;    }    @Override    public String toString() {        return "Address [province=" + province + ", street=" + street + "]";    }}

(2)制作表单

<form action="RequetMappingTest/testPOJO" method="POST">        username:<input type="text" name="username"/><br>        password:<input type="password" name="password"/><br>        <!-- 以下为级联属性,即属性的属性,注意 "address.----"-->        province:<input type="text" name="address.province"/><br>        street:<input type="text" name="address.street"/><br>        <input type="submit" value="OK"/>    </form>

(3)写controller方法:
@RequestMapping(value=”/testPOJO”,method=RequestMethod.POST)
public String testPojo(User user)
{
System.out.println(“testPOJO”+user);
return SUCCESS;
}
(4)运行结果:
这里写图片描述

这里写图片描述

0 0