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

概述

1,使用set接收参数

前台:

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

<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

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 + ''' +
'}';
}
}
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>();
//必须要有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 接收参数

前台:

成员变量['属性']

<tr>
<td>学生姓名:</td>
<td><input type="text" name="params['uname']"></td>
<td>学生性别:</td>
<td><input type="text" name="params['sex']"></td>
</tr>

后台:

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 使用set和Map接收前台传来的数据所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部