/**
* 从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);
}
分享到:
相关推荐
在`doFilter()`方法中,我们可以对`HttpServletRequest`的`getParameterMap()`方法返回的参数映射进行修改。这个映射包含了所有请求参数的键值对,其中键是参数名,值是一个字符串数组,因为同一个参数名可能对应多...
总之,理解并熟练掌握`request.getParameterMap()`、`request.getParameter()`和`request.getParameterValues()`的使用是进行Java Web开发的基础,它们是处理HTTP请求参数的核心工具,帮助我们从客户端获取并处理...
在 SpringMVC 中,使用 @RequestBody 注解可以将请求体中的数据转换为 Java 对象,但是在使用 map 接收请求参数时,经常会遇到一些问题。本文将讨论如何快速解决 SpringMVC @RequestBody 用map接收请求参数的问题。 ...
在IT行业中,"查询返回Map"是一个常见的编程概念,尤其在Web开发中,涉及到服务器端数据处理和前端展示。在这个场景下,我们讨论的是如何从数据库查询数据,将结果封装成Map对象,然后通过JSP(JavaServer Pages)...
当你需要从客户端(通常是浏览器)获取URL及其参数时,`HttpServletRequest`扮演了核心角色。本篇文章将详细探讨如何使用`HttpServletRequest`来获取URL和参数。 首先,让我们理解URL(Uniform Resource Locator)...
Java 还提供了一个更方便的方法来获取所有请求参数,即使用 `request.getParameterMap()` 方法,该方法返回一个 `Map` 对象,其中包含所有的请求参数。 ```java Map, String[]> parameterMap = request....
Struts2框架提供了一种便捷的方式,允许我们在JSP页面上遍历并显示存储在Map中的数据。这篇博客(尽管链接已不可用)可能探讨了如何使用Struts2的迭代器标签来处理嵌套Map的情况。 首先,让我们理解基本概念。`...
这需要在对应的Controller方法中指定,它告诉SpringMVC框架,这个方法需要从请求体中读取JSON格式的数据,并将其自动转换成一个Java对象。为了确保能够正确处理JSON数据,请求的`Content-Type`必须设置为`...
在实际的实现中,这些业务的相关消息通常会以请求(Request)、指示(Indication)、响应(Response)和确认(Confirmation)的形式进行交互。例如,`mmMAP_OPEN_REQ_T`代表MAP OPEN业务的请求消息,其中包含了对话...
在这个例子中,`data`参数是一个包含List和Map的对象,它们会被自动转换成JSON格式并作为POST请求的主体发送。在服务器端,你需要处理这些JSON数据,将其转换回List和Map,然后进行业务逻辑处理。 在服务器端,你...
request 对象是 JSP 中九个可供使用的隐式对象之一,它属于输入/输出对象,主要用于处理客户端传送给服务器端的请求参数。 request 对象提供了多种方法来获取请求参数,例如: 1. String getParameter(String name...
### STRUTS2获得作用域、参数响应对象及三种符号说明 #### 一、概述 在Struts2框架中,为了更好地管理Web应用程序中的请求、会话和应用范围的数据,Struts2提供了一系列的工具和机制。这包括了对`RequestMap`、`...
Google Map API 是一款强大的工具,它允许开发者在自己的网站或应用程序中嵌入地图功能,提供定位、导航、地理编码、路线规划等多种服务。本示例将深入探讨如何使用 Google Map API,帮助你理解和掌握其核心概念及...
本篇文章将深入探讨如何接收前端传递的加密参数,并通过DES(Data Encryption Standard)算法进行解密处理后,将解密后的字符串分割并存储至`Map`容器中的具体实现过程。 #### 前台加密值获取与DES解密 首先,在...
然而,需要注意的是,`HttpServletRequest`对象通常是只读的,直接修改`getParameterMap()`返回的`Map`不会改变实际请求中的参数。这是因为`HttpServletRequest`的内部结构并不直接暴露给开发者,而是通过API进行...
通过`ActionContext`的`getContext()`方法可以得到当前的`ActionContext`实例,然后通过这个实例进一步获取到request、response和session。 #### 示例代码: ```java import ...
本示例中的“微信小程序map组件地图定位并检索”是一个简易的DEMO,展示了如何利用map组件及其相关的API和SDK来实现地图功能。 首先,我们来看`map`组件的基本用法。在微信小程序的页面配置中,我们需要引入`map`...
本篇将详细介绍如何在JSP中利用JSTL与EL表达式来访问和遍历Map集合。 首先,JSTL是一个标准的标签库,它提供了一系列预定义的标签,用于处理常见的任务,如迭代、条件判断、XML处理等,避免了在JSP页面中直接写Java...
本篇文章将详细介绍如何使用Java遍历HTTP请求request的所有参数,并将其存储到HashMap中。 首先,我们需要导入相关的Java Servlet库,这通常在Servlet环境如Tomcat或Jetty中运行。导入以下依赖: ```java import ...