獲取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;
}

方法二

@Autowired
protected HttpServletRequest request;

/**
 * @功能描述:    獲取從request中傳遞過來的參數信息
 *
 * @param req
 */
public Map<String, Object> getParams() {
    Map<String, Object> paramMap = new HashMap<String, Object>();

    // 從HttpServletRequest中獲取傳遞過來的數據
    Map<String, String[]> map = request.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;
}

擴展方法

/**
 * <h5>功能:獲取String[]類型參數</h5>
 * @param paramMaps 參數信息
 * @param key 參數名
 * @return 沒有參數信息或轉換失敗返回null
 */
public String[] getStringArryParam(Map<String, Object> paramMaps, String key) {
    Object ojb = paramMaps.get(key);
    return null == ojb ? null : (String[]) ojb;
}

/**
 * <h5>功能:獲取String類型參數</h5>
 * @param paramMaps 參數信息
 * @param key 參數名
 * @return 沒有參數信息返回null
 */
public String getStringParam(Map<String, Object> paramMaps, String key) {
    Object ojb = paramMaps.get(key);
    return null == ojb ? null : String.valueOf(ojb);
}

/**
 * <h5>功能:獲取int類型參數</h5>
 * @param paramMaps 參數信息
 * @param key 參數名
 * @return 沒有參數信息返回0
 */
public int getIntParam(Map<String, Object> paramMaps, String key) {
    String value = getStringParam(paramMaps, key);
    try {
        return null == value ? 0 : Integer.parseInt(value);
    } catch (Exception e) {
        return 0;
    }
}

/**
 * <h5>功能:獲取double類型參數</h5>
 * @param paramMaps 參數信息
 * @param key 參數名
 * @return 沒有參數信息返回0.0
 */
public double getDoublePara(Map<String, Object> paramMaps, String key) {
    String value = getStringParam(paramMaps, key);
    try {
        return null == value ? 0.0d : Double.parseDouble(value);
    } catch (Exception e) {
        return 0.0d;
    }
}

/**
 * <h5>功能:獲取float類型參數</h5>
 * @param paramMaps 參數信息
 * @param key 參數名
 * @return 沒有參數信息返回0.0
 */
public float getFloatParam(Map<String, Object> paramMaps, String key) {
    String value = getStringParam(paramMaps, key);
    try {
        return null == value ? 0f : Float.parseFloat(value);
    } catch (Exception e) {
        return 0.0f;
    }
}

/**
 * <h5>功能:獲取long類型參數</h5>
 * @param paramMaps 參數信息
 * @param key 參數名
 * @return 沒有參數信息返回0
 */
public long getLongParam(Map<String, Object> paramMaps, String key) {
    String value = getStringParam(paramMaps, key);
    try {
        return null == value ? 0L : Long.parseLong(value);
    } catch (Exception e) {
        return 0L;
    }
}

/**
 * <h5>功能:獲取boolean類型參數</h5>
 * @param paramMaps 參數信息
 * @param key 參數名
 * @return 沒有參數信息或轉換失敗返回false
 */
public boolean getBooleanParam(Map<String, Object> paramMaps, String key) {
    String value = getStringParam(paramMaps, key);
    return null == value ? false : Boolean.parseBoolean(value);
}
相關文章
相關標籤/搜索