我有一个这样的 url 模式:
http://xy.com/param1/value1/param2/value2/..../paramN/valueN
我想在 Spring colntroller 中写一个@RequestMapping,但是如果我不知道参数和值有多少,我不知道该怎么办。
有什么方法可以收集所有参数和值吗?或者有人可以帮我解决这个问题吗?
谢谢
我有一个这样的 url 模式:
http://xy.com/param1/value1/param2/value2/..../paramN/valueN
我想在 Spring colntroller 中写一个@RequestMapping,但是如果我不知道参数和值有多少,我不知道该怎么办。
有什么方法可以收集所有参数和值吗?或者有人可以帮我解决这个问题吗?
谢谢
@PathVariable
s 的标准方式?所以网址会像http://xy.com?param1=value1¶m2=value2&....¶mN=valueN
您的注释为:
@RequestMapping("xyz1")
@ResponseBody
public String index(@RequestParam(required = false) String param1, @RequestParam(required = false) String param2,
@RequestParam(required = false) String paramN) {
return "Param1=" + param1 + ", Param2=" + param1 + ", ParamN=" + paramN;
}
@RequestMapping("xyz2")
@ResponseBody
public String index2(HttpServletRequest servletRequest) {
StringBuilder result = new StringBuilder();
for (Entry<String, String[]> entry : servletRequest.getParameterMap().entrySet()) {
result.append(entry.getKey());
result.append('=');
result.append(Arrays.toString(entry.getValue()));
result.append(", ");
}
return result.toString();
}
where@RequestParam
在所有预期参数已知时servletRequest.getParameterMap()
使用,如果您确实需要动态处理它们,则使用它们。
@PathVariable
描述的真正可选的 s采用 hackish 方式。我使用的是 Spring ModelAttribute 而不是