在工作中,经常会遇到前台向后台传输参数,参数少的情况下,后台直接用同名参数接收就行,但是,参数多的情况下,方法的参数也会相应的增加,就显得略微麻烦;
今天,我们就来写一下,将前台传到后台HttpServletRequest中的参数转化Map的一个通用方法;
话不多说,直接上图:
/**
* 将前台穿过来的在request中的参数,转化成Map类型
* @author lzx
* @version 2021年3月12日10:30:11
*/
public Map<String,Object> requestConvertMap(HttpServletRequest request){
Map properties = request.getParameterMap();
//返回值Map
Map resultMap = new HashMap();
Iterator iterator = properties.entrySet().iterator();
Map.Entry entry;
String name = "";
String value = "";
while (iterator.hasNext()){
entry = (Map.Entry) iterator.next();
name = (String) entry.getKey();
Object valueObj = entry.getValue();
if (null==valueObj){
value = "";
} else if (valueObj instanceof String[]){
String[] values = (String[]) valueObj;
for (int i = 0; i < values.length; i++) {
value = values[i]+",";
}
value = value.substring(0,value.length()-1);
} else {
value = valueObj.toString();
}
resultMap.put(name,value);
}
return resultMap;
}
上述方法,如果对Map不是特别理解的,第一次读可能会稍微吃力;一起加油,奥力给!