request.getParameterNames獲得請求參數的名字(Get或者Post請求的參數都可以)
阿新 • • 發佈:2017-08-12
獲取 java util next 發送 parameter 子類 所有 tel
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請求的參數都可以)