반응형
👊 문제
<c:if test="${msg == '0'}">
<%
System.out.println("IIIIIIIIII");
%>
<script>
alert("수정 시 비밀번호가 일치하지 않습니다.")
</script>
</c:if>
글 수정할 때 틀린 비밀번호를 입력하면 msg의 "0"를 담아서
jsp 로 넘기는 로직을 짰으나

로그로 찍었을 때 msg 값이 null로 나오는 걸 확인함
😘 원인
if(pass.equals(password)){
System.out.println("BBBBBB");
BoardDAO dao = new BoardDAO();
dao.updateBoard(num, subject, content);
RequestDispatcher dispatcher = request.getRequestDispatcher("BoardListCon.do");
dispatcher.forward(request, response);
}
else{
request.setAttribute("msg","0");
RequestDispatcher dispatcher = request.getRequestDispatcher("BoardListCon.do");
dispatcher.forward(request, response);
}
msg를 set 해주는 로직에서는 setAttribute로 해주었는데
//수정 삭제시 받아오는 메시지
String msg = (String)request.getParameter("msg");
받아서 쓰는 쪽에서는 getParameter로 찾아서. 값이 null 된 문제
⛏️해결
//수정 삭제시 받아오는 메시지
String msg = (String)request.getAttribute("msg");
getAttribute로 가져오면 문제 해결 !
반응형