从request中传递过来的参数信息

方法一

/**
 * @功能描述:    获取从request中传递过来的参数信息
 *
 * @param req
 */
public static Map<String, Object> getMapsExt(HttpServletRequest req) {
        Map<String, Object> paramMap = new HashMap<String, Object>();
        Enumeration<String> enume = req.getParameterNames();
        while (enume.hasMoreElements()) {
                String key = (String) enume.nextElement();
                String[] values = req.getParameterValues(key);
                paramMap.put(key, values.length == 1 ? req.getParameter(key) : values);
        }
        return paramMap;
}

方法二

/**
 * @功能描述:    获取从request中传递过来的参数信息
 *
 * @param req
 */
public Map<String, Object> getMaps(HttpServletRequest req){
        Map<String, Object> paramMap = new HashMap<String, Object>();
        // 从HttpServletRequest中获取传递过来的数据
        Map<String, String[]> map = req.getParameterMap();  
        // 遍历 map
        for (Iterator<Map.Entry<String,String[]>> iter = map.entrySet().iterator(); iter.hasNext();) {  
                    Map.Entry<String,String[]> element = (Map.Entry<String,String[]>) iter.next();  
                    // 获取key值  
                    String strKey = element.getKey();  
                    // 获取value,默认为数组形式
                    String[] value = element.getValue();  
                    // 存放到指定的map集合中
                    if (value.length <= 1) {
                            // 没有或者只有一个value值
                            paramMap.put(strKey, value[0]);
                }else{
                        // 有多个value值
                        paramMap.put(strKey, value);
                }
        }
        for (String key : paramMap.keySet()) {
                System.out.println(key + "="+paramMap.get(key));
        }
        return paramMap;
}

猜你喜欢

转载自blog.51cto.com/1197822/2157674