我是靠谱客的博主 等待橘子,这篇文章主要介绍Struts2 使用set和Map接收前台传来的数据,现在分享给大家,希望可以做个参考。

1,使用set接收参数

前台:

后台:实例化的   成员变量.makeNew[].属性

复制代码
1
2
3
4
5
6
<tr> <td>学生姓名</td> <td><input type="text" name="userSet.makeNew[0].uname"></td> <td>学生性别</td> <td><input type="text" name="userSet.makeNew[0].sex"></td> </tr>

后台:

1

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package com.oracle.vo; public class UserVO { private int uid; private String uname; public int getUid() { return uid; } public void setUid(int uid) { this.uid = uid; } public String getUname() { return uname; } public void setUname(String uname) { this.uname = uname; } @Override public String toString() { return "UserVO{" + "uid=" + uid + ", uname='" + uname + ''' ", address='" + address + ''' + '}'; } }
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
package com.oracle.action; import com.opensymphony.xwork2.util.KeyProperty; import com.oracle.vo.UserVO; import java.util.HashSet; import java.util.Set; import java.util.logging.Logger; import org.apache.logging.log4j.LogManager; public class SetAction { // @KeyProperty("主键")必须要写 @KeyProperty("uid") //使用set必须自己实例化 系统不会自动给我们实例化 private Set<UserVO> userSet=new HashSet<UserVO>();
复制代码
1
//必须要有set方法 一般我们把get和set方法都写出来
public Set<UserVO> getUserSet() { return userSet; } public void setUserSet(Set<UserVO> userSet) { this. userSet = userSet; } public String list(){ for(UserVO vo: userSet){ System. out.println(vo.getUname()); } return "list"; }}

2 使用 Map 接收参数

前台:

成员变量['属性']

复制代码
1
2
3
4
5
6
<tr> <td>学生姓名:</td> <td><input type="text" name="params['uname']"></td> <td>学生性别:</td> <td><input type="text" name="params['sex']"></td> </tr>

后台:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package com.oracle.action; import com.oracle.vo.UserVO; import org.apache.commons.beanutils.BeanUtils; import java.lang.reflect.InvocationTargetException; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; public class MapAction { //必须自己实例化 有set和get方法 private Map<String,Object> params=new HashMap<String, Object>(); public Map<String, Object> getParams() { return params; } public void setParams(Map<String, Object> params) { this.params = params; } public String list() throws InvocationTargetException, IllegalAccessException { //使用iterator 遍历 Set<Map.Entry<String, Object>> entries = params.entrySet(); Iterator<Map.Entry<String, Object>> iterator = entries.iterator(); while (iterator.hasNext()){ Map.Entry<String, Object> next = iterator.next(); System.out.println(next.getKey()); System.out.println(next.getValue()); } UserVO userVO=new UserVO(); //将map转换为对象 BeanUtils.populate(userVO,params); System.out.println(userVO); return "list"; } }


最后

以上就是等待橘子最近收集整理的关于Struts2 使用set和Map接收前台传来的数据的全部内容,更多相关Struts2内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部