画面 :
?
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
?