struts - 页面多行数据操作(list取值 、list提交、list保存 )
画面 :
?
IDNAMEAGE
1 ? ? ?Tom28
2Jack18
3?Mike38
?
* 红字为可编辑项目(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
?