如何在Spring MVC控制器中将Form数据作为Map获取?


问题内容

我使用Java脚本动态创建了一个复杂的html表单。

我想将键值对的映射获取为java中的Map并将其存储。

这是我的控制器,用于获取提交的数据。

@RequestMapping(value="/create", method=RequestMethod.POST, 
    consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
public String createRole(Hashmap<String, Object) keyVals) {
    ....
}

但是我的地图是空的。

如何在Spring MVC控制器中将表单数据作为名称/值对的映射获取?


问题答案:

您还可以使用 @RequestBodyMultiValueMap

@RequestMapping(value="/create",
                method=RequestMethod.POST,
                consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
public String createRole(@RequestBody MultiValueMap<String, String> formData){
 // your code goes here
}

现在,您可以获取参数名称及其值。

MultiValueMap 在Spring utils软件包中