讀代碼學java:request.getParameterNames


 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 */

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM