从request中传递过来的参数信息

方法一

/**
 * @功能描述:    获取从request中传递过来的参数信息
 *
 * @param req
 */
public static Map<String, Object> getMapsExt(HttpServletRequest req) {
        Map<String, Object> paramMap = new HashMap<String, Object>();
        Enumeration<String> enume = req.getParameterNames();
        while (enume.hasMoreElements()) {
                String key = (String) enume.nextElement();
                String[] values = req.getParameterValues(key);
                paramMap.put(key, values.length == 1 ? req.getParameter(key) : values);
        }
        return paramMap;
}

方法二

/**
 * @功能描述:    获取从request中传递过来的参数信息
 *
 * @param req
 */
public Map<String, Object> getMaps(HttpServletRequest req){
        Map<String, Object> paramMap = new HashMap<String, Object>();
        // 从HttpServletRequest中获取传递过来的数据
        Map<String, String[]> map = req.getParameterMap();
        // 遍历 map
        for (Iterator<Map.Entry<String,String[]>> iter = map.entrySet().iterator(); iter.hasNext();) {
                    Map.Entry<String,String[]> element = (Map.Entry<String,String[]>) iter.next();
                    // 获取key值
                    String strKey = element.getKey();
                    // 获取value,默认为数组形式
                    String[] value = element.getValue();
                    // 存放到指定的map集合中
                    if (value.length <= 1) {
                            // 没有或者只有一个value值
                            paramMap.put(strKey, value[0]);
                }else{
                        // 有多个value值
                        paramMap.put(strKey, value);
                }
        }
        for (String key : paramMap.keySet()) {
                System.out.println(key + "="+paramMap.get(key));
        }
        return paramMap;
}

原文地址:http://blog.51cto.com/1197822/2157674

时间: 2024-10-28 19:55:35

从request中传递过来的参数信息的相关文章

获取request中传递过来的header信息

1.添加HttpServletRequest注解,也可以作为参数传递 @Autowired protected HttpServletRequest request; 2.获取header /** * <h5>功能: 获取从request中传递过来的header信息</h5> * * @return Map<String, Object> */ public Map<String, Object> getHeaders() { Map<String,

URL中传递JSON数据

我们在URL中传递数据一般都是 XX.aspx?A=1&B=2&C=你   这样传递中文也没关系,我们在后台利用Request.QueryString["C"]接受就可以了.浏览器会自动帮我们解码. 如果参数过多,这样拼接也不是很方便,这个时候我们就可以把所有的参数和值写成Json格式,然后进行传值  XX.aspx?json={"1",1,"2","2"},如果像这样写,接受的时候就只有接受一个参数了. Js

解决在Filter中读取Request中的流后,后续controller或restful接口中无法获取流的问题

首先我们来描述一下在开发中遇到的问题,场景如下: 比如我们要拦截所有请求,获取请求中的某个参数,进行相应的逻辑处理:比如我要获取所有请求中的公共参数 token,clientVersion等等:这个时候我们通常有两种做法 前提条件是我们实现Filter类,重写doFilter方法 1.通过getParameter方法获得 HttpServletRequest hreq = (HttpServletRequest) req; String param = hreq.getParameter("pa

jquery.ajax的url中传递中文乱码问题的解决方法

jquery.ajax的url中传递中文乱码问题的解决方法 JQuery JQuery默认的contentType:application/x-www-form-urlencoded 这才是JQuery正在乱码的原因,在未指定字符集的时候,是使用ISO-8859-1 ISO8859-1,通常叫做Latin-1.Latin-1包括了书写所有西方欧洲语言不可缺少的附加字符. JQuery的Ajax根本没有考虑到国际化的问题,使用了欧洲的字符集,所以才引起了传递中文出现乱码的问题. 而我们的UTF-8

token的作用以及ajax中传递token的几种方法

目录 1.ajax中传递token的作用 2.ajax中传递token的几种方法 内容 1.ajax中传递token的作用 作用一:防止表单重复提交 主要原理是:用户提交表单后,会携带token到服务器,服务器将session中的token和用户请求带过来的token进行比较,如果相同,会将session中的token进行更新.若用户重复提交,则用户之后发过来的请求的token和服务器session中的token是不一致的,所以会导致之后的表单提交操作失败. 作用二:防止anti csrf 攻击

如何在Spring异步调用中传递上下文

以下文章来源于aoho求索 ,作者aoho 1. 什么是异步调用? 异步调用是相对于同步调用而言的,同步调用是指程序按预定顺序一步步执行,每一步必须等到上一步执行完后才能执行,异步调用则无需等待上一步程序执行完即可执行.异步调用指,在程序在执行时,无需等待执行的返回值即可继续执行后面的代码.在我们的应用服务中,有很多业务逻辑的执行操作不需要同步返回(如发送邮件.冗余数据表等),只需要异步执行即可. 本文将介绍 Spring 应用中,如何实现异步调用.在异步调用的过程中,会出现线程上下文信息的丢失

js的url中传递中文参数乱码,如何获取url中参数问题

一:Js的Url中传递中文参数乱码问题,重点:encodeURI编码,decodeURI解码: 1.传参页面Javascript代码: <script type=”text/javascript”> function send(){ var url = "test01.html"; var userName = $("#userName").html(); window.open(encodeURI(url + "?userName="

ASP.NET MVC中如何以ajax的方式在View和Action中传递数据

前言:写这篇随笔的时候,在url上漏写了斜线,找了好久错误,整个人都很不好.#我是猪系列 背景:之前介绍过一篇如何构建ASP.NET MVC4&JQuery&AJax&JSon示例,这一篇单独讲解如何在View和Action间传递并处理数据. 1,前台HTML代码: 1 <div> 2 <button type="button" id="btn">从视图向控制器中传递数据</button> 3 <p

GitLab:解决Merge Request中Commits不更新的问题

最近在使用 GitLab 的 Merge Requests 功能进行 Code Review .操作流程是这样的: 1)开发人员A要给一个项目增加一个新功能,先在这个项目上创建一个 Git 分支. 2)开发完成后,git push 到这个分支. 3)然后在 Merge Requests 中创建一个 Merge Request ,然后指定开发人员B进行 Code Review. 4)开发人员B在 Code Review 中发出现了问题,需要开发人员A修改代码. 5)开发人员A修改好代码并 push