struts - 页面多行数据操作(list取值 、list交付、list保存 )
struts - 页面多行数据操作(list取值 、list提交、list保存 )
画面 :
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