当前位置: 代码迷 >> Web前端 >> struts - 页面多行数据操作(list取值 、list交付、list保存 )
  详细解决方案

struts - 页面多行数据操作(list取值 、list交付、list保存 )

热度:168   发布时间:2013-01-06 15:44:47.0
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


?

  相关解决方案