本文共 3720 字,大约阅读时间需要 12 分钟。
在Spring MVC应用中,数据绑定是连接前端表单和后端Controller之间的桥梁。本文将详细介绍Spring支持的不同数据绑定类型,并提供实例说明。
@RequestMapping("saysth.do")public void test(int count) {} name属性与Controller的参数名称一致即可实现数据绑定。null或空值,可能会导致数据转换异常。@RequestMapping("saysth.do")public void test(Integer count) {} null或空值,Controller方法参数中定义的值可以是null。public class User { private String firstName; private String lastName; // set和get方法省略} @RequestMapping("saysth.do")public void test(User user) {} name值与Controller的属性名称一致即可完成数据绑定。public class ContactInfo { private String tel; private String address; // set和get方法省略}public class User { private String firstName; private String lastName; private ContactInfo contactInfo; // set和get方法省略} @RequestMapping("saysth.do")public void test(User user) { System.out.println(user.getFirstName()); System.out.println(user.getLastName()); System.out.println(user.getContactInfo().getTel()); System.out.println(user.getContactInfo().getAddress());} name值格式为“属性名(对象属性).属性名”,确保Spring能够正确绑定复合对象。public class User { private String firstName; private String lastName; // set和get方法省略}public class UserListForm { private List users; public List getUsers() { return users; } public void setUsers(List users) { this.users = users; }} @RequestMapping("saysth.do")public void test(UserListForm userForm) { for (User user : userForm.getUsers()) { System.out.println(user.getFirstName() + " - " + user.getLastName()); }} public class User { private String firstName; private String lastName; // set和get方法省略}public class UserSetForm { private Set users = new HashSet<>(); public Set getUsers() { return users; } public void setUsers(Set users) { this.users = users; }} @RequestMapping("saysth.do")public void test(UserSetForm userForm) { for (User user : userForm.getUsers()) { System.out.println(user.getFirstName() + " - " + user.getLastName()); }} public class User { private String firstName; private String lastName; // set和get方法省略}public class UserMapForm { private Map users; public Map getUsers() { return users; } public void setUsers(Map users) { this.users = users; }} @RequestMapping("saysth.do")public void test(UserMapForm userForm) { for (Map.Entry entry : userForm.getUsers().entrySet()) { System.out.println(entry.getKey() + ": " + entry.getValue().getFirstName() + " - " + entry.getValue().getLastName()); }} null或空值。通过合理选择和配置数据绑定类型,可以实现前后端的数据高效交互,充分发挥Spring的优势。
转载地址:http://klptz.baihongyu.com/