이 문제가 너무 복잡해서 (흥미 롭습니다) 사람들에게 통찰력을 요청하고 싶습니다.request.getParameter에 예상 한 값이 null이 아닙니다.
저는 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()
메서드는 null 값을 포함하지 않으므로 값을 비워 두어도됩니다.
다른 알고리즘을 생각해 낼 수 있다고해도이 현상이 발생하는 이유를 알고 싶습니다.
모든 조언을 주시면 감사하겠습니다.
관련 : http://stackoverflow.com/questions/7109419/what-is-the-best-practice-for-
이 주위에 좋은 방법은 명시 적으로 빈 문자열을 확인하는 것입니다 validating-parameters-in-jsp/ – BalusC