<form method="post" action="/loginServlet">
<input type="text" class="text" placeholder="请输入用户名" name="username" >
<div class="key">
<input type="password" placeholder="请输入密码" name="password">
</div>
<div class="signin">
<input type="submit" value="Login">
</div>
</form>
这样的表单提交到相对应的Servlet后在控制台输出的参数值都为null,报错null pointer exception
后来发现,表单设置enctype="multipart/form-data"对要上传文件的表单有效,在读取表单数据时,需要SmartUpload su=new SmartUpload()得到经实例化的对象,通过su.getFiles().getFile(0)获得文件,同一表单的其他数据通过su.getRequest().getParameter("content")获得。
当没有附件上传时,表单设置enctype="multipart/form-data"这一属性,则会使获取的表单数据为null,
删除enctype即可成功获取表单数据!
网友评论