在我的控制器中将参数作为表单数据发送时,其接收为null
值。
将参数作为x-www-form-urlencoded
传递时,我得到的值。
我的控制器如下:
@RequestMapping(value = "/getid", method = RequestMethod.POST)
public ServerResponse id(@RequestParam(value = "id", required = false) String id) {...}
答案 0 :(得分:1)
如果需要发送参数是form-data,那么你需要在Spring中添加对此的支持, 看一下spring的文档http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-multipart
Spring的内置多部分支持处理Web上的文件上传 应用。您可以使用pluggable启用此多部分支持 MultipartResolver对象,在。中定义 org.springframework.web.multipart包。 Spring提供了一个 与Commons FileUpload和。一起使用的MultipartResolver实现 另一个用于Servlet 3.0多部分请求解析。
默认情况下,Spring没有多部分处理,因为有些开发人员 想要自己处理多部分。您启用Spring multipart 通过向Web应用程序添加多部分解析程序来处理 上下文。检查每个请求以查看它是否包含多部分。 如果未找到多部分,请求将按预期继续。如果一个 在请求中找到multipart,已经是MultipartResolver 在您的上下文中声明使用。之后,multipart属性 在您的请求中被视为任何其他属性。
这是如何使用CommonsMultipartResolver
的示例 ReactDOM.render(
<form><input type="text" data-val="@Model.datannotations[1].val" /></form>
当然,您还需要在类路径中放置适当的jar 使多部分解析器工作。在的情况下 CommonsMultipartResolver,你需要使用commons-fileupload.jar。