SpringMVC—前端利用form表单发起提交,后端接收数据进行映射处理对象,集合
阅读前提:
1.本文注释较少
2.要有一点基础知识
传递给后端的数据有如下2种:
/*对象:*/
<form>
<input name="a" />
<input name="b" />
</form>
/*集合:*/
<form>
<input name="emp[0].a" />
<input name="emp[0].b" />
<input name="emp[1].a" />
<input name="emp[1].b" />
</form>
HTML代码
<fieldset>
<legend>前端利用form表单发起提交,后端接收数据进行映射处理对象,集合</legend>
</fieldset>
<fieldset>
<legend>数据格式:1.(对象:{})</legend>
<div>
<form action="form1" method="post">
<input name="empno" value="1314" type="text" />
<input name="ename" value="张三" type="text" />
<input name="sal" value="8000" type="text" />
<button type="submit">提交</button>
</form>
</div>
</fieldset>
<fieldset>
<legend>数据格式:2.(对象数组:[{},{}])</legend>
<div>
<form action="form2" method="post">
<input name="users[0].firstName" value="张" type="text" />
<input name="users[0].lastName" value="三" type="text" />
<br/>
<input name="users[1].firstName" value="李" type="text" />
<input name="users[1].lastName" value="四" type="text" />
<br/>
<input name="users[2].firstName" value="王" type="text" />
<input name="users[2].lastName" value="五" type="text" />
<button type="submit">提交</button>
</form>
</div>
</fieldset>
java代码
@Controller
public class FormController {
@RequestMapping("/form1")
public Emp ajaxHandle1(Emp emp) {
System.out.println(emp);
return emp;
}
@RequestMapping("/form2")
public void ajaxHandle2(UserListForm userForm) {
for (User user : userForm.getUsers()) {
System.out.println(user.getFirstName() + " - " + user.getLastName());
}
}
}
员工实体类
public class Emp {
private Integer empno;
private String ename;
private Double sal;
public Emp() {
super();
}
public Emp(Integer empno, String ename, Double sal) {
super();
this.empno = empno;
this.ename = ename;
this.sal = sal;
}
public Emp(Integer empno, String ename) {
super();
this.empno = empno;
this.ename = ename;
}
public Integer getEmpno() {
return empno;
}
public void setEmpno(Integer empno) {
this.empno = empno;
}
public String getEname() {
return ename;
}
public void setEname(String ename) {
this.ename = ename;
}
public Double getSal() {
return sal;
}
public void setSal(Double sal) {
this.sal = sal;
}
@Override
public String toString() {
return "Emp [empno=" + empno + ", ename=" + ename + ", sal=" + sal + "]";
}
}
用户实体类
public class User {
private String firstName;
private String lastName;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
用户列表实体类
public class UserListForm {
private List<User> users;
public List<User> getUsers() {
return users;
}
public void setUsers(List<User> users) {
this.users = users;
}
}