zoukankan      html  css  js  c++  java
  • java遍历request.getParameterMap()中的值

    在开发过程中发现request对象有提供一个request.getParameterMap()方法可以获取到从前端请求发送的参数Map。

    但是在使用get()方法通过key(键)去获取这个参数Map中对应的value(值)的时候,发现获取的是对象。

    Map map = request.getParameterMap();
    System.out.println(map.get("yanggb")); // [Ljava.lang.String;@4665fc21

    通过打印出来的信息,很容易就发现该对象是一个字符串数组,因此我们就可以知道request.getParameterMap()方法返回的map中存储的值是数组。

    我们通过一个循环来校验一下。

    复制代码
    for (Iterator iter = map.entrySet().iterator(); iter.hasNext();) {
      Map.Entry element = (Map.Entry) iter.next();
      Object strKey = element.getKey();
      String[] strArr = (String[])element.getValue();
      System.out.println(strKey);
      for (String str : strArr) {
        System.out.println(str); // yanggb
      }
    }
    复制代码

    这个时候就发现能够正常打印出前端请求发送的参数值了。

    然后我们将上面最开始的代码稍微改动一下。

    Map map = request.getParameterMap();
    String[] yanggbs = (String[])map.get("yanggb");
    if (yanggbs.length > 0) {
        System.out.println(yanggbs[0]); // yanggb
    }

    这样就能正常获取到前端请求发送的参数值了。

    Map<String, String[]> mapparams = req.getParameterMap();
    Set<String> keySet = mapparams.keySet();
    // 遍历存放所有key的Set集合
    Iterator<String> it = keySet.iterator();
    while (it.hasNext()) { // 利用了Iterator迭代器**
    // 得到每一个key
    String key = it.next();
    // 通过key获取对应的value
    String[] value = mapparams.get(key);
    System.out.println("key = " +key);
    for(int i=0; i< value.length; i++)
    {
        System.out.println(key + " = " + value[i]);
    }
    }
  • 相关阅读:
    [bzoj4417] [洛谷P3990] [Shoi2013] 超级跳马
    [bzoj4011] [洛谷P3244] [HNOI2015] 落忆枫音
    [bzoj1875] [洛谷P2151] [SDOI2009] HH去散步
    [bzoj4827] [洛谷P3723] [Hnoi2017] 礼物
    [bzoj2326] [洛谷P3216] [HNOI2011] 数学作业
    [bzoj3105] [cqoi2013] 新Nim游戏
    [YTU]_2353 ( 长方柱类【C++ 类定义】)
    [YTU]_2627 (职工工资统计)
    [YTU]_2769( 结构体--成绩统计)
    [YTU]_2577( 小数计算——结构体)
  • 原文地址:https://www.cnblogs.com/zouhong/p/12024929.html
Copyright © 2011-2022 走看看