首页 > 代码库 > request.getParameterNames获得请求参数的名字(Get或者Post请求的参数都可以)

request.getParameterNames获得请求参数的名字(Get或者Post请求的参数都可以)

 1 protected Map<String, String> initRequestParams(HttpServletRequest request) { 2         Map<String, String> paramMap = new HashMap<String, String>(); 3         if (request == null) { 4             return paramMap; 5         } 6         Enumeration<?> paramNames = request.getParameterNames(); 7 /* 8 Enumeration<?>代表可以传递任意类型,?是通配符即Object及其下的子类,也就是java的所有对象了。 9 10 request.getParameterNames()方法是将发送请求页面中form表单里所有具有name属性的表单对象获取(包括button).返回一个Enumeration类型的枚举.11 12 通过Enumeration的hasMoreElements()方法遍历.再由nextElement()方法获得枚举的值.此时的值是form表单中所有控件的name属性的值.13 14 最后通过request.getParameter()方法获取表单控件的value值.15 */16         if (request != null && paramNames != null && paramNames.hasMoreElements()) {17             while (paramNames.hasMoreElements()) {18                 String paramName = (String) paramNames.nextElement();19                 String[] paramValues = request.getParameterValues(paramName);20 /*21 先获得变量mane再获得其值,对于getParameterName()其值是变量/对象的名称,getParameterValue()获得的是变量/对象的值。22 request.getParameterValues("name")方法将获取所有form表单中name属性为"name"的值.该方法返回一个数组.遍历数组就可得到value值.23 */24                 if (paramValues.length == 1) {25                     paramMap.put(paramName, paramValues[0]);26                 } else {27                     paramMap.put(paramName, ArrayUtils.toString(paramValues));28                 }29             }30         }31         return paramMap;32 }33 /*34 request.getParameterNames()的值是无序排列request.getParameterValues()是按照from表单的控件顺序排列.35 */

 

request.getParameterNames获得请求参数的名字(Get或者Post请求的参数都可以)