SpringMVC接收不到网页POST方式的参数

逃离我推掉我的手 2022-07-16 03:08 484阅读 0赞

编写的SpringMVC服务器端来获取通过html表单提交的参数时候时候,如果是GET方式服务端能够接收到参数的值,如果是POST方式,则接收不到参数的值,代码如下

jsp:

[html] view plain copy

在CODE上查看代码片 派生到我的代码片

  1. 修改商品信息:
  2. <%—
  3. —%>
  4. 商品名称
    商品价格
    商品生产日期 ss"/>"/>
    商品图片

  5. 商品简介

SpringMVC:

[html] view plain copy

在CODE上查看代码片 派生到我的代码片

  1. @RequestMapping(“/items/editItemsSubmit”)
  2. public String editItesmSubmit(HttpServletRequest request,Integer id,ItemsCustom itemsCustom) throws Exception

最后发现,这是form表单的enctype编码方式不同导致的

enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码。

默认地,表单数据会编码为 “application/x-www-form-urlencoded”。就是说,在发送到服务器之前,所有字符都会进行编码(空格转换为 “+” 加号,特殊符号转换为 ASCII HEX 值)。如果使用GET,则强制使用application/x-www-form-urlencoded”方式。我代码里强制使用了multipart/form-data方式,所以SpringMVC中获取不到POST形式的参数

spring mvc如果要接收 multipart/form-data 传输的数据,应该在spring上下文配置


并将commons-fileupload-1.2.1.jar和commons-io-2.5.jar包引入到项目中

这样服务端就既可以接收multipart/form-data 传输的数据,也可以接收application/x-www-form-urlencoded传输的文本数据了。

发表评论

表情:
评论列表 (有 0 条评论,484人围观)

还没有评论,来说两句吧...

相关阅读