gpt4 book ai didi

java - 使用 enctype ="multipart/form-data"时请求 getParameter 始终为 null

转载 作者:行者123 更新时间:2023-12-01 16:40:09 24 4
gpt4 key购买 nike

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

我已经添加了 enctype="multipart/form-data" 如前所述 here但现在它总是将 email 识别为 null 并且在成功的情况下我无法转发到登录页面(当电子邮件不为空时)。

<小时/>

代码

注册.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>


SignUpAction.java

public class SignUpAction implements Action {

@Override
public String handleRequest(HttpServletRequest req, HttpServletResponse resp, DAOFactory dao)
throws ServletException, IOException {

String email = req.getParameter("email");

if (email == null || email.isEmpty()) {
return "signup"; // It loads signup page again (it works)
}

return "login"; // It should go to the login page (it doesn't work)
}

}

最佳答案

除非您打算使用表单上传文件,否则不需要指定“multipart/form-data”的编码类型。

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

链接中的最后一段指出:

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

Input type: email

电子邮件是一种 html5 输入类型。 How To Use The New Email, URL, and Telephone Input Types .

关于java - 使用 enctype ="multipart/form-data"时请求 getParameter 始终为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61873765/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com