spring中的表单参数绑定
在表单提交数据中name的值可以自动的复制给控制器中对应的参数,甚至自动组成对象(需要设置的setter和getter函数),例如
<form action="param/saveAccount" method="post">
姓名:<input type="text" name="username"><br>
密码:<input type="text" name="password"><br>
金额:<input type="text" name="money"><br>
用户姓名:<input type="text" name="u.uname"><br>
用户年龄:<input type="text" name="u.age"><br>
list测试<br>
<input type="text" name="list[0].uname"><br>
<input type="text" name="list[0].age"><br>
map测试<br>
<input type="text" name="map['one'].uname"><br>
<input type="text" name="map['one'].age"><br>
<input type="submit">
对象部分
package com.yrk.domain;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
public class Account implements Serializable {
private String username;
private String password;
private String money;
private User u;
private List<User> list;
private Map<String,User> map;
@Override
public String toString() {
return "Account{" +
"username='" + username + '\'' +
", password='" + password + '\'' +
", money='" + money + '\'' +
", u=" + u +
", list=" + list +
", map=" + map +
'}';
}
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 String getMoney() {
return money;
}
public void setMoney(String money) {
this.money = money;
}
public User getU() {
return u;
}
public void setU(User u) {
this.u = u;
}
public List<User> getList() {
return list;
}
public void setList(List<User> list) {
this.list = list;
}
public Map<String, User> getMap() {
return map;
}
public void setMap(Map<String, User> map) {
this.map = map;
}
}
输入的参数自动组装为Account对象
@RequestMapping("/param/saveAccount")
public String saveAccount(Account account){
System.out.println(account);
return "success";
}
输出
Account{username='yu666', password='111', money='100', u=User{uname='yrk', age=44}, list=[User{uname='熊大', age=11}], map={one=User{uname='熊二', age=22}}}

浙公网安备 33010602011771号