本文主要是介绍getParameter取不到值,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题
今天做一个demo,第一步就出错了,就是用getParameter怎么都取不到前端表单提交过来的值,我检查了所有的配置发现都是正常的,平时都不算问题的问题把我困惑了。我的提交代码如下:
<form action="upfiles.html" method="post" enctype="multipart/form-data">
解决方法
最后静下心来决定从前端到后端完整定位一下问题,在提交时候发现表单中有这么一个属性:
enctype="multipart/form-data"
然后我查了一下发现enctype是对表单数据的一种编码方式,主要有两种:
- application/x-www-form-urlencoded:这是form表单默认的编码方式,在发送前编码所有字符。注意后台使用getParameter()得到表单中提交的数据。
- multipart/form-data:这种方式不对字符编码。在使用包含文件上传控件的表单时,必须使用该值。注意这种方式后台使用request.getInputStream()或request.getReader()来获取提交的数据,用request.getParameter()是获取不到提交的数据的。
我的表单中提交的东西是文件,因此不能使用request.getParameter()来获取数据,而应当使用request.getInputStream()或request.getReader()来获取。
这篇关于getParameter取不到值的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!