Я нашел этот вопрос настолько запутанным (но также интересным), что я хотел бы попросить людей здесь для понимания.
Я изучаю JSP и связанные с ним технологии. Что я пытаюсь сделать, так это получить параметры из JSP в сервлет, а затем использовать их с 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( )
не содержат нулевых значений, даже если я сделаю их пустыми.
Даже если я смогу придумать другие алгоритмы, я хотел бы знать причину этого явления.
Любые советы будут оценены.