如何在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控制器中将表单数据作为名称 – 值对的映射?
您也可以将@RequestBody
与MultiValueMap
一起使用,例如
@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(); ... }
这样我就有了提交参数的地图。