gpt4 book ai didi

jsp - request.getParameter 在预期时没有空值

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

我发现这个问题非常令人困惑(但也很有趣),因此我想向这里的人们寻求见解。

我一直在自学 JSP 和相关技术。我要做的是将参数从 JSP 检索到 servlet,然后将它们与 If() 一起使用。
这是我编码的一部分。

if ((request.getParameter("ID_A") != null || request.getParameter("Password_A") != null) &&
(request.getParameter("ID_B") != null || request.getParameter("Password_B") != null)) {

errorMessage = "Information is detected for the both side";
request.setAttribute("errorMessage", errorMessage);
request.getRequestDispatcher("4_enter_personal_info.jsp").forward(request, response);
} // Other conditions...

这是 JSP 的一部分(上一步)
<form action="PersonalInfor_to_confirmation_servlet" method="POST">
<h2>For an existing customer</h2>
<p>Customer ID</p>
<input type="text" name="ID_A" value="" />
<p>Password</p>
<input type="text" name="Password_A" value="" />
<br>
<h2>For a new customer</h2>
<p>Set your customer ID</p>
<input type="text" name="ID_B" value="" />
<p>Set your password</p>
<input type="text" name="Password_B" value="" />
//There are other lines
</form>

我想确保,当客户端在双方输入信息( For an existing customer/For a new customer )时,JSP 上会出现上述消息 "Information is detected for the both side"

但是,即使所有文本框都为空,也会出现错误消息。所以上面的所有 request.getParameter( ) 方法都不包含空值,即使我将它们设为空。

即使我能想出其他算法,我也想知道这种现象发生的原因。

任何建议将被认真考虑。

最佳答案

if 块中的语句之所以运行,是因为该字段存在。如果您不想在文本框为空时运行它,您应该做的是在条件中包含检查参数是否包含空字符串,例如:

request.getParameter("ID_A") != null && !request.getParameter("ID_A").isEmpty()
|| request.getParameter("Password_A") && !request.getParameter("Password_A").isEmpty()
...

So all the request.getParameter( ) methods above don't contain null values even if I make them empty.



是的。当 getParamater() 返回一个 null 值时,这意味着它无法在表单中找到具有该名称的字段。使用另一种方法: isEmpty() 检查字段是否为空。如:
request.getParameter("noSuchField")==null //true
request.getParameter("ID_A")==null //false
request.getParameter("ID_A").isEmpty() //true

关于jsp - request.getParameter 在预期时没有空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27913379/

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