BACK_END/문제해결

0401_Set Attribute 제대로 안 넘어가는 이슈

minquu 2025. 4. 1. 12:32
반응형

 

👊 문제

<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로 가져오면 문제 해결 !

반응형