controller方法參數與html表單對應
0. User實體類
import org.springframework.format.annotation.DateTimeFormat;import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Map;public class User implements Serializable {private static final long serialVersionUID = -292375206744176903L;private String username;private String password;private Integer age;private Fun fun;private List<Fun> list;@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")private Date birthday;@Overridepublic String toString() {return "User{" +"username='" + username + '\'' +", password='" + password + '\'' +", age=" + age +", fun=" + fun +", list=" + list +", birthday=" + birthday +", map=" + map +'}';}public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}private Map<String, Fun> map;public Map<String, Fun> getMap() {return map;}public void setMap(Map<String, Fun> map) {this.map = map;}public List<Fun> getList() {return list;}public void setList(List<Fun> list) {this.list = list;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public String getUsername() {return username;}public Fun getFun() {return fun;}public void setFun(Fun fun) {this.fun = fun;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}}
1. 基本類型+String類型
@RequestMapping(path = "/save1")public String save1(String username, String age) {System.out.println("save1方法執行了!!!" + username + ":" + age);return "suc";}
在JSP的form表單元素中不需要做特殊處理,直接映射即可
<h3>請求參數綁定入門</h3><form action="/user/save1" method="post">姓名:<input type="text" name="username"/><br/>年齡:<input type="text" name="age"/><br/><input type="submit" value="提交"/>
</form>
2. 實體類對象
@RequestMapping(path = "/save2")public String save2(User user) {System.out.println("save2方法執行了!!!" + user.toString());return "suc";}
<h3>請求參數綁定(封裝到實體類)</h3><form action="/user/save2" method="post">姓名:<input type="text" name="username"/><br/>年齡:<input type="text" name="age"/><br/><input type="submit" value="提交"/>
</form>
這里的name屬性必須與User表的字段名相同,否則會報錯
3. 實體類對象(包含自定義引用類型)
<form action="/user/save3" method="post">姓名:<input type="text" name="username"/><br/>年齡:<input type="text" name="age"/><br/>f1:<input type="text" name="fun.f1"/><br/><input type="submit" value="提交"/>
</form>
用字段名.字段名的方式傳值
4. 實體類對象(包含數組[])
<form action="/user/save4" method="post">姓名:<input type="text" name="username"/><br/>年齡:<input type="text" name="age"/><br/>金額:<input type="text" name="fun.f3"/><br/>集合:<input type="text" name="list[0].f1"/><br/>集合:<input type="text" name="list[1].f1"/><br/><input type="submit" value="提交"/>
</form>
固定寫法,只能用list而不能用arr
5. 實體類對象(存在map)
<h3>請求參數綁定(封裝到實體類,存在Map集合)</h3><form action="/user/save5" method="post">姓名:<input type="text" name="username"/><br/>年齡:<input type="text" name="age"/><br/>金額:<input type="text" name="fun.f2"/><br/>map集合---key1對應的Fun對象的f1賦值:<input type="text" name="map['key1'].f1"/><br/>map集合---key1對應的Fun對象的f2賦值:<input type="text" name="map['key1'].f2"/><br/>map集合---key2對應的Fun對象的f3賦值:<input type="text" name="map['key2'].f3"/><br/><input type="submit" value="提交"/>
</form>
也是固定寫法,[]內部寫key,外部的.跟value