jsp中提交到Servlet的表单获取的值为什么都为NULL

有没有人在啊,想请讲解下,jsp中提交到Servlet的表单获取的值为什么都为NULL
最新回答
ヾ{夨禮了┃

2024-06-30 08:59:53

<form action="submitcomment" method="post" name="submitcomment" enctype="multipart/form-data">
<input type="hidden" id="con_taskid" name="con_taskid"/>
<input type="hidden" id="con_userid" name="con_userid"/>
<input type="hidden" id="con_taskkind" name="con_taskkind"/>
<input type="hidden" id="con_content" name="con_content"/>
<input type="submit" id="confirm" name="confirm" value="确定" onClick="confirm()"/></tr>
</form>

这样的表单提交到相对应的Servlet后在控制台输出的参数值都为null
后来发现,表单设置enctype="multipart/form-data"对要上传文件的表单有效,在读取表单数据时,需要SmartUpload su=new SmartUpload()得到经实例化的对象,通过su.getFiles().getFile(0)获得文件,同一表单的其他数据通过su.getRequest().getParameter("content")获得。

当没有附件上传时,表单设置enctype="multipart/form-data"这一属性,则会使获取的表单数据为null,
删除这一属性即可成功获取表单数据。
七落海屿

2024-06-30 07:43:28

这样的表单提交到相对应的Servlet后在控制台输出的参数值都为null 后来发现,表单设置enctype="multipart/form-data"对要上传文件的表单有效,在读取表单数据时,需要SmartUploadsu=newSmartUpload()得到经实例化的对象,通过su.getFiles().getFile(0)获得文件,同一表单的其他数据通过su.getRequest().getParameter("content")获得。 当没有附件上传时,表单设置enctype="multipart/form-data"这一属性,则会使获取的表单数据为null, 删除这一属性即可成功获取表单数据。
远方的情书

2024-06-30 10:48:37

  1. 首先你要确定你的后台servlet是否接收到了前台表单的提交信息,不确定的话可以在get或post方法里面写一个打印语句(具体看你前台是什么方式的提交)

    ,后台接收到请求后就会执行打印语句,这个时候就可以在控制台看到信息了,如果没有信息,则表明你的拦截机制有问题。请检测拦截名是否对应。

  2. 检查要接收的数据是否都有name属性。value值是否都有。

  3. 检查是否设置成disabled属性的,这个设置后,后台也是收不到的。这个坑很大。

  4. 一般检查到这里就差不多了。再就是注解的路径也是个大坑,你可以多搜搜看这个问题