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

我有一个复杂的html表单,使用java脚本动态创建。

我想在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 formData){ // your code goes here } 

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

MultiValueMap在Spring utils包中

我刚刚找到了解决方案

 @RequestMapping(value="/create", method=RequestMethod.POST, consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE) public String createRole(HttpServletRequest request) { Map parameterMap = request.getParameterMap(); ... } 

这样我就有了提交参数的地图。