画面 :
?
ID NAME AGE
1 ? ? ?Tom 28
2 Jack 18
3? Mike 38
?
* 红字为可编辑项目(type="text") 多行可编辑,整个页面数据一起更新。
?
?
Bean :
?
public class UserInfo {
private String id;
private String name;
private String age;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
?
?
ActionForm :
?
public class ActionForm {
private List<UserInfo> userList;
public List<UserInfo> getUserList() {
return userList;
}
public void setUserList(List<UserInfo> userList) {
this.userList = userList;
}
}
?
?
?
?
JSP :
?
<html>
<body>
<c:forEach var="userInfo" items="${userList}" varStatus="loopStatus">
<input type="text" name="userList[${loopStatus.index}].id" value="${userInfo.id}" />
<input type="text" name="userList[${loopStatus.index}].name" value="${userInfo.name}" />
<input type="text" name="userList[${loopStatus.index}].age" value="${userInfo.age}" />
</c:forEach>
</body>
</html>
?
?
?
?
List取值 : ?value
?
List提交 : ?name (通过设置多行name属性, 将数据提交到后台list对象)
List名[index].属性名【userList[0].id, userList[1].id ……】
List保存 : ?提交后数据会保存在ActionForm.userList下
?
根据画面所记数据,可以得到以下list:
?
userList[0].id = ?1
userList[0].name = Tom
userList[0].age = 28
?
userList[1].id = ?2
userList[1].name = Jack
userList[1].age = 18
?
?
userList[2].id = ?3
userList[2].name = Mike
userList[2].age = 38
?