<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,删除这一属性即可成功获取表单数据。
这样的表单提交到相对应的Servlet后在控制台输出的参数值都为null 后来发现,表单设置enctype="multipart/form-data"对要上传文件的表单有效,在读取表单数据时,需要SmartUploadsu=newSmartUpload()得到经实例化的对象,通过su.getFiles().getFile(0)获得文件,同一表单的其他数据通过su.getRequest().getParameter("content")获得。 当没有附件上传时,表单设置enctype="multipart/form-data"这一属性,则会使获取的表单数据为null, 删除这一属性即可成功获取表单数据。
首先你要确定你的后台servlet是否接收到了前台表单的提交信息,不确定的话可以在get或post方法里面写一个打印语句(具体看你前台是什么方式的提交),后台接收到请求后就会执行打印语句,这个时候就可以在控制台看到信息了,如果没有信息,则表明你的拦截机制有问题。请检测拦截名是否对应。检查要接收的数据是否都有name属性。value值是否都有。检查是否设置成disabled属性的,这个设置后,后台也是收不到的。这个坑很大。一般检查到这里就差不多了。再就是注解的路径也是个大坑,你可以多搜搜看这个问题