我有一个这样的网址模式:
http://xy.com/param1/value1/param2/value2/..../paramN/valueN
我想在Spring colntroller中编写一个@RequestMapping,但如果我不知道有多少参数和值,我不知道怎么办。
有没有办法让所有参数和值都被收集? 或者任何人都可以帮忙解决这个问题吗?
由于
答案 0 :(得分:0)
@PathVariable
的情况下使用标准方式?所以网址就像 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();
}
当所有预期参数都已知时使用@RequestParam
,如果您确实需要动态处理它们,则使用servletRequest.getParameterMap()
。
@PathVariable
。答案 1 :(得分:0)
我使用的是Spring ModelAttribute而不是