方法一
/**
* @功能描述: 獲取從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);
}