`
Sharpleo
  • 浏览: 572890 次
  • 性别: Icon_minigender_1
  • 来自: newsk
社区版块
存档分类
最新评论

从request中获得参数Map,并返回可读的Map

    博客分类:
  • java
 
阅读更多
   /**
 * 从request中获得参数Map,并返回可读的Map
 * 
 * @param request
 * @return
 */
@SuppressWarnings("unchecked")
public static Map getParameterMap(HttpServletRequest request) {
	// 参数Map
	Map properties = request.getParameterMap();
	// 返回值Map
	Map returnMap = new HashMap();
	Iterator entries = properties.entrySet().iterator();
	Map.Entry entry;
	String name = "";
	String value = "";
	while (entries.hasNext()) {
		entry = (Map.Entry) entries.next();
		name = (String) entry.getKey();
		Object valueObj = entry.getValue();
		if(null == valueObj){
			value = "";
		}else if(valueObj instanceof String[]){
			String[] values = (String[])valueObj;
			for(int i=0;i<values.length;i++){
				value = values[i] + ",";
			}
			value = value.substring(0, value.length()-1);
		}else{
			value = valueObj.toString();
		}
		returnMap.put(name, value);
	}
	return returnMap;
}



得到jsp页面提交的参数很容易,但通过它可以将request中的参数和值变成一个map,以下是将得到的参数和值打印出来,形成的map结构:map(key,value[]),即:key是String型,value是String型数组。

例如:request中的参数t1=1&t1=2&t2=3

形成的map结构:

key=t1;value[0]=1,value[1]=2

key=t2;value[0]=3
如果直接用map.get("t1"),得到的将是:Ljava.lang.String;   value只所以是数组形式,就是防止参数名有相同的情况。

Map map = request.getParameterMap();  
java.util.Enumeration   enum=this.getRequest().getParameterNames();  
        while(enum.hasMoreElements()){  
                  String   paramName=(String)enum.nextElement();                      
                  String[]   values=request.getParameterValues(paramName);  
                  for(int   i=0;i<values.length;i++){  
                   System.out.println("["+i+"]   "+paramName+" "+values[i]); 

                  } 

        }

假设传递的参数个数不固定且参数名没有重复的,如何从后台得到呢?

Map map = new HashMap();

//得到枚举类型的参数名称,参数名称若有重复的只能得到第一个

Enumeration enum = this.getRequest().getParameterNames();
   while (enum.hasMoreElements()) {
    String paramName = (String) enum.nextElement();

    String paramValue = this.getRequest().getParameter(paramName);

//形成键值对应的map
    map.put(paramName, paramValue);

   }
分享到:
评论

相关推荐

    java web 修改request携带的参数信息

    在`doFilter()`方法中,我们可以对`HttpServletRequest`的`getParameterMap()`方法返回的参数映射进行修改。这个映射包含了所有请求参数的键值对,其中键是参数名,值是一个字符串数组,因为同一个参数名可能对应多...

    快速解决SpringMVC @RequestBody 用map接收请求参数的问题

    在 SpringMVC 中,使用 @RequestBody 注解可以将请求体中的数据转换为 Java 对象,但是在使用 map 接收请求参数时,经常会遇到一些问题。本文将讨论如何快速解决 SpringMVC @RequestBody 用map接收请求参数的问题。 ...

    查询返回Map

    在IT行业中,"查询返回Map"是一个常见的编程概念,尤其在Web开发中,涉及到服务器端数据处理和前端展示。在这个场景下,我们讨论的是如何从数据库查询数据,将结果封装成Map对象,然后通过JSP(JavaServer Pages)...

    request.getParameterMap()返回的是String []数组1

    总之,理解并熟练掌握`request.getParameterMap()`、`request.getParameter()`和`request.getParameterValues()`的使用是进行Java Web开发的基础,它们是处理HTTP请求参数的核心工具,帮助我们从客户端获取并处理...

    request获取url以及其参数

    当你需要从客户端(通常是浏览器)获取URL及其参数时,`HttpServletRequest`扮演了核心角色。本篇文章将详细探讨如何使用`HttpServletRequest`来获取URL和参数。 首先,让我们理解URL(Uniform Resource Locator)...

    java 获取request中的请求参数代码详解

    Java 还提供了一个更方便的方法来获取所有请求参数,即使用 `request.getParameterMap()` 方法,该方法返回一个 `Map` 对象,其中包含所有的请求参数。 ```java Map, String[]&gt; parameterMap = request....

    Struts iterator JSP Map 中嵌套 Map

    Struts2框架提供了一种便捷的方式,允许我们在JSP页面上遍历并显示存储在Map中的数据。这篇博客(尽管链接已不可用)可能探讨了如何使用Struts2的迭代器标签来处理嵌套Map的情况。 首先,让我们理解基本概念。`...

    解决SpringMVC同时接收Json和Restful时Request里有Map的问题

    这需要在对应的Controller方法中指定,它告诉SpringMVC框架,这个方法需要从请求体中读取JSON格式的数据,并将其自动转换成一个Java对象。为了确保能够正确处理JSON数据,请求的`Content-Type`必须设置为`...

    常用MAP消息体结构说明.

    在实际的实现中,这些业务的相关消息通常会以请求(Request)、指示(Indication)、响应(Response)和确认(Confirmation)的形式进行交互。例如,`mmMAP_OPEN_REQ_T`代表MAP OPEN业务的请求消息,其中包含了对话...

    jQuery的Ajax实现异步传输List、Map

    在这个例子中,`data`参数是一个包含List和Map的对象,它们会被自动转换成JSON格式并作为POST请求的主体发送。在服务器端,你需要处理这些JSON数据,将其转换回List和Map,然后进行业务逻辑处理。 在服务器端,你...

    JSP 内置对象:request 对象.pptx

    request 对象是 JSP 中九个可供使用的隐式对象之一,它属于输入/输出对象,主要用于处理客户端传送给服务器端的请求参数。 request 对象提供了多种方法来获取请求参数,例如: 1. String getParameter(String name...

    Java中实现参数名ASCII码从小到大排序(字典序).doc

    这里提供了一个名为`createSign`的方法,它接受一个`Map, Object&gt;`类型的参数,并返回一个字符串,其中包含排序后的键值对。下面是对这个方法的详细解释和扩展知识。 1. **`TreeMap`的使用**: `TreeMap`是Java...

    STRUTS2获得作用域、参数响应对象及三种符号说明

    ### STRUTS2获得作用域、参数响应对象及三种符号说明 #### 一、概述 在Struts2框架中,为了更好地管理Web应用程序中的请求、会话和应用范围的数据,Struts2提供了一系列的工具和机制。这包括了对`RequestMap`、`...

    Google Map API 使用示例

    Google Map API 是一款强大的工具,它允许开发者在自己的网站或应用程序中嵌入地图功能,提供定位、导航、地理编码、路线规划等多种服务。本示例将深入探讨如何使用 Google Map API,帮助你理解和掌握其核心概念及...

    解密后的字符串截取放map中

    本篇文章将深入探讨如何接收前端传递的加密参数,并通过DES(Data Encryption Standard)算法进行解密处理后,将解密后的字符串分割并存储至`Map`容器中的具体实现过程。 #### 前台加密值获取与DES解密 首先,在...

    java修改请求参数

    然而,需要注意的是,`HttpServletRequest`对象通常是只读的,直接修改`getParameterMap()`返回的`Map`不会改变实际请求中的参数。这是因为`HttpServletRequest`的内部结构并不直接暴露给开发者,而是通过API进行...

    Struts2的Action中获得request response session几种方法

    通过`ActionContext`的`getContext()`方法可以得到当前的`ActionContext`实例,然后通过这个实例进一步获取到request、response和session。 #### 示例代码: ```java import ...

    微信小程序map组件地图定位并检索

    本示例中的“微信小程序map组件地图定位并检索”是一个简易的DEMO,展示了如何利用map组件及其相关的API和SDK来实现地图功能。 首先,我们来看`map`组件的基本用法。在微信小程序的页面配置中,我们需要引入`map`...

    在jsp中使用JSTL跟El表达式访问和遍历Map集合

    本篇将详细介绍如何在JSP中利用JSTL与EL表达式来访问和遍历Map集合。 首先,JSTL是一个标准的标签库,它提供了一系列预定义的标签,用于处理常见的任务,如迭代、条件判断、XML处理等,避免了在JSP页面中直接写Java...

    java遍历http请求request的所有参数实现方法

    本篇文章将详细介绍如何使用Java遍历HTTP请求request的所有参数,并将其存储到HashMap中。 首先,我们需要导入相关的Java Servlet库,这通常在Servlet环境如Tomcat或Jetty中运行。导入以下依赖: ```java import ...

Global site tag (gtag.js) - Google Analytics