request模糊匹配name参数取值

前几天项目需求获取多个同类name的值,在网上找了老半天,今天整理一下发布出来,希望对像我们这种记忆力不好的同学有所帮助。

好了话不多说直接上代码:

/** 

* 参数解释

* request 不多说

* param 需要匹配name的模糊字符串

* isFull 是否返回完整的name名字

*/

 private static Map logger(HttpServletRequest request, 
String param,boolean isFull) {
HashMap hm = new HashMap();
//获取表单中所有具有name属性的对象
Enumeration enu = request.getParameterNames();
//通过Enumeration 的hasMoreElements()方法遍历
while (enu.hasMoreElements()) {
//nextElement()方法获取枚举的值,这里是name的完整名字
String str1 = (String) enu.nextElement();
//这里进行匹配
if (str1.startsWith(param)) {
//根据isFull值决定key对象的名字
String str2 = isFull ? str1 : str1.substring(param.length());
//获取匹配的参数值
String str3 = StringUtils.join(request.getParameterValues(str1), ',');
hm.put(str2, str3);
}
}
//返回匹配参数值map的集合,key为需要的名字,value为值
return hm;

你可能感兴趣的:(request模糊匹配name参数取值)