Java 如何使用SpringBoot获取不带等号的查询字符串?

Java 如何使用SpringBoot获取不带等号的查询字符串?,java,spring-boot,key-value,http-request-parameters,Java,Spring Boot,Key Value,Http Request Parameters,我们知道@RequestParam是一种获取查询参数的好方法,例如“?name=Tom”: www.example.com/?name=Tom 你可以用 @RequestParam(value="name") String name Map params=getQueryMap(querystring); String id=(String)params.get("id"); String anotherparam=(String)params.g

我们知道@RequestParam是一种获取查询参数的好方法,例如“?name=Tom”:

www.example.com/?name=Tom
你可以用

@RequestParam(value="name") String name
Map params=getQueryMap(querystring);
 String id=(String)params.get("id");
 String anotherparam=(String)params.get("anotherparam");
获取密钥“name”

但是如何获得不带等号的查询字符串,例如:

www.example.com/?1+1
在这种情况下没有键值对,我无法从互联网上找到答案,因为基本上查询字符串是由键值对使用的


顺便说一句,该框架必须是带有Java的SpringBoot,也必须是用于Thymeleaf的html。

您可以从HttpServletRequest.getQueryString()获得它。在控制器方法中,HttpServletRequest由SpringMVC注入

@RestController
class WhatEverController {

   @GetMapping("whatever")
   public void whatEver(HttpServletRequest request,
                        HttpServletResponse response {
       String queryString = request.getQueryString();
   }
}


来自其他源的查询字符串:

public static Map<String, String> getQueryMap(String query)  
{  
    String[] params = query.split("&");  
    Map<String, String> map = new HashMap<String, String>();  
    for (String param : params)  
    {  String [] p=param.split("=");
        String name = p[0];  
      if(p.length>1)  {String value = p[1];  
        map.put(name, value);
      }  
    }  
    return map;  
} 

这里是一种替代方法,您可以这样做。谢谢,@oisleyen的答案看起来也一样。我将使用HttpServletRequest