Java 使用enctype=";时,request getParameter始终为空;“多部分/表单数据”;

Java 使用enctype=";时,request getParameter始终为空;“多部分/表单数据”;,java,validation,jsp,servlets,jakarta-ee,Java,Validation,Jsp,Servlets,Jakarta Ee,我正在对输入的数据进行验证,如电子邮件、密码、姓名等。但我已经停留在验证的第一阶段,即检查用户是否未输入任何内容 如前所述,我已经添加了enctype=“multipart/form data”,但现在它总是将email识别为null,如果成功(当email不为null时),我无法转发到登录页面 代码 signup.jsp <form method="POST" action="signup" enctype="multipart/form-data"> <input

我正在对输入的数据进行验证,如电子邮件、密码、姓名等。但我已经停留在验证的第一阶段,即检查用户是否未输入任何内容

如前所述,我已经添加了
enctype=“multipart/form data”
,但现在它总是将
email
识别为
null
,如果成功(当email不为null时),我无法转发到登录页面


代码 signup.jsp

<form method="POST" action="signup" enctype="multipart/form-data">
    <input type="email" name="email" placeholder="tonystark@mail.com">
    <input type="submit" value="Submit">
</form>

由于它是一个多部分/表单数据(通常用于上载一个或多个文件的目的),因此
request.getParameter()
方法将始终返回
null

你可以试试

 <form method="POST" action="signup" enctype="application/x-www-form-urlencoded">

或者完全删除
enctype
参数

另一个问题中的一些参考文献


除非您计划使用表单上载文件,否则无需指定“多部分/表单数据”的编码类型


链接的最后一段说明:

使用enctype=“multipart/form data”时,所有参数都在请求正文中编码。这意味着request.getParameter(…)将为所有已发布的参数返回null

输入类型:电子邮件


电子邮件是一种html5输入类型

您应该告诉我们您正在使用哪个框架。另外,请重新阅读您发布的链接。您不想使用enctype=“multipart/form data”另一个错误是type=“email”,应该是type=“text”@rickz我没有使用任何框架,只是Serlvet和jsp,在TomCatFix上运行它来修复这两个错误。只需接受@Perdomoff-answer即可
 <form method="POST" action="signup" enctype="application/x-www-form-urlencoded">
<form method="POST" action="signup">
    <input type="text" name="email" placeholder="tonystark@mail.com">
     <input type="submit" value="Submit">
</form>