我在执行服务器端servlet验证时发现了一些问题 给定表单,我需要验证名字文本字段
<form action="Test" method="POST">
<input type="text" name="firstname" />
<input type="submit" value="submit" />
</form>
Servlet验证代码对我不起作用。它始终会看到firstname = length = 0 not null
if(request.getParameter("firstname")==null)
{
out.println("Error");
}`
但修改表格后添加enctype =“multipart / form-data”为
<form action="Test" method="POST" enctype="multipart/form-data" >
<input type="text" name="firstname" />
<input type="submit" value="submit" />
</form>
验证码工作,,,
这里的问题是enctype="multipart/form-data"
的功能是什么?
也
为什么request.getParameter(“firstname”)不为空字段返回null?它返回空字符串
答案 0 :(得分:2)
if(request.getParameter("firstname")==null)
这会检查String的引用是否指向null,这不是你想要做的。如果要检查空字符串,请执行:
if(request.getParameter("firstname")==null
|| request.getParameter("firstname").isEmpty())
使用enctype="multipart/form-data"
时,请求正文中的所有参数都是编码。这意味着request.getParameter(...)
将为所有发布的参数返回null
。