将Map转换为QueryString

zen*_*n0n 3 java junit spring-mvc hashmap query-string

可能重复:
如何将map转换为url查询字符串?

如何将Map转换为查询字符串?

例如:

    MockHttpServletRequest request = getRequest();
    HashMap<String, String> queryString = new HashMap<String, String>();
    queryString.put("IDcontent", "4546446");
    queryString.put("ID_CP", "604204d6-3ded-4882-9427-52f1ff8ee6c8");
    request.setQueryString(mapToQueryString(queryString));
Run Code Online (Sandbox Code Playgroud)

我认为这是(mapToQueryString)做标准库,但我找不到它.

小智 8

您可以自己定义方法mapToueryString:

  StringBuilder sb = new StringBuilder();
  for(HashMap.Entry<String, String> e : queryString.entrySet()){
      if(sb.length() > 0){
          sb.append('&');
      }
      sb.append(URLEncoder.encode(e.getKey(), "UTF-8")).append('=').append(URLEncoder.encode(e.getValue(), "UTF-8"));
  }
Run Code Online (Sandbox Code Playgroud)