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";
    }

}


猜你喜欢

转载自blog.csdn.net/zyljjf/article/details/79818435