首页 > 其他 > 详细

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

时间:2017-08-11 23:42:47      阅读:3035      评论:0      收藏:0      [点我收藏+]
 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请求的参数都可以)

原文:http://www.cnblogs.com/lxl57610/p/7348378.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!