博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMVC(七):@RequestMapping下使用POJO对象绑定请求参数值
阅读量:7256 次
发布时间:2019-06-29

本文共 3113 字,大约阅读时间需要 10 分钟。

Spring MVC会按照请求参数名和POJO属性名进行自动匹配,自动为该对象填充属性值,支持级联属性。

如:address.city.dept.address.province等。

步骤一:定义Account.java,Address.java类:

1 package com.dx.springlearn.entities; 2  3 public class Account { 4     private String username; 5     private String password; 6     private Integer age; 7     private Address address; 8  9     public String getUsername() {10         return username;11     }12 13     public void setUsername(String username) {14         this.username = username;15     }16 17     public String getPassword() {18         return password;19     }20 21     public void setPassword(String password) {22         this.password = password;23     }24 25     public Integer getAge() {26         return age;27     }28 29     public void setAge(Integer age) {30         this.age = age;31     }32 33     public Address getAddress() {34         return address;35     }36 37     public void setAddress(Address address) {38         this.address = address;39     }40 41     @Override42     public String toString() {43         return "Account [username=" + username + ", password=" + password + ", age=" + age + ", address=" + address44                 + "]";45     }46 47 }
package com.dx.springlearn.entities;public class Address {    private String province;    private String city;    private String details;    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;    }    public String getDetails() {        return details;    }    public void setDetails(String details) {        this.details = details;    }    @Override    public String toString() {        return "Address [province=" + province + ", city=" + city + ", details=" + details + "]";    }}

步骤二:在HelloWord.java控制类内添加testPojo方法:

package com.dx.springlearn.handlers;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.CookieValue;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestHeader;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;import com.dx.springlearn.entities.Account;@Controller@RequestMapping("class_requestmapping")public class HelloWord {    private static String SUCCESS = "success";    @RequestMapping("/testPojo")    public String testPojo(Account account) {        System.out.println("testPojo: account:" + account);        return SUCCESS;    }}

步骤三:在index.jsp中添加表单提交html脚本:

username:
password:
age:
address:
province:
city:
details:

步骤四:测试

提交表单后,打印结果:

testPojo: account:Account [username=abc123, password=123456, age=28, address=Address [province=zhejiang, city=hangzhou, details=hangzhou huo che zhan]]

 

转载地址:http://dvpdm.baihongyu.com/

你可能感兴趣的文章