enctype="multipart/Form-data"取不到值

今天发现在公司的SSH框架下,service成功执行完,马上调用另外一个action,在form里的值没传过去,很是怪异。理论上,这两个action用的都是同一个form、dto,值传递是没有问题的。经过他人的寻找,原来在jsp上的form中有加入enctype="multipart/Form-data"而导致取不到值。

 

这里稍微深入下,编码方式ENCTYPE是为了设置页面提交的编码方式,主要包括3中种。

 

编码方式 具体含义

text/plain 以纯文本的方式进行发送

application/x-www-Form-urlencode 采用默认的编码形式

multipart/Form-data 使用MINE编码方式进行发送

 

如果在表单内有文件需上传,必须使用multipart/Form-data的方式。但用request.getParameter("XXX")取出来的值会是null。enctype="multipart/form-data"是上传二进制数据;form里面的input的值以2进制的方式传过去。
form里面的input的值以2进制的方式传过去,所以request就得不到值了。 也就是说加了这段代码,用request就会传递不成功。
取表单值加入数据库时,可用到下面的方法:
SmartUpload su = new SmartUpload();//新建一个SmartUpload对象
su.getRequest().getParameterValues();取数组值
su.getRequest().getParameter( );取单个参数单个值

 

也可用下面的方法:

o'reilly组件  MultipartRequest 对象. getParameter("");来获得。

其它方法可参考如下文章:http://enjoy123.5d6d.com/archiver/tid-403.html
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
enctype="multipart/form-data"是HTML表单中的一个属性,用于指定表单数据的编码类型。它表示表单数据包含多个部分,既包括文本数据,也包括文件等二进制数据。 需要注意的是,默认情况下,enctype是application/x-www-form-urlencoded,这种编码类型不能用于文件上传。只有在使用了multipart/form-data编码类型时,才能完整地传递文件数据。 使用enctype="multipart/form-data"可以模拟一个POST multipart/form-data类型的请求,这种请求格式与application/x-www-form-urlencoded完全不同。在这种编码类型中,需要在HTTP请求头中设置一个分隔符来分隔各个部分的数据。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [form表单中的enctype=“multipart/form-data“什么意思?](https://blog.csdn.net/lingxiyizhi_ljx/article/details/102514560)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [multipart form-data boundary 说明](https://blog.csdn.net/weixin_30547797/article/details/96177005)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值