1.문제
1. 로그인 후 board게시판으로 이동하기 위해 화면 우측 상단의 Board를 누르면 게시판이 나오지 않고 삭제에 실패했다는 알람이 뜹니다.
2. 게시물에 들어가 목록 버튼을 누르면 앞의 상황가 마찬가지로 삭제 실패를 알리는 알람이 뜹니다.
2.문제 해결을 위해 내가 한 것.(문제 해결 과정)
①. 로그인 후 board게시판으로 이동하기 위해 화면 우측 상단의 Board를 누르면 게시판이 나오지 않고 삭제에 실패했다는 알람이 뜹니다.
①-1. 로그인 후 화면 우측 상단의 Board를 누르면 /board/list로 이동합니다. 그래서 BoardController에서 Board를 누르면 /board/list로 잘 가는 지 확인했습니다.
①-2. 확인결과 console에서는 '------------------test------------------'값이 잘 찍혔습니다. Controller까지 이동하는데에는 문제가 없음을 확인했습니다. 여기서 저는 list()에서 과정에서는 문제는 없고 return값인 boardList로 이동하는 과정에 문제가 생겼다는 결론을 내렸습니다.
①-3. 그런데 삭제 실패 메시지가 나올려면 'msg'의 값을 받아와야 합니다. 'msg'의 값은 boardController의 remove() 메서드에서 받아와야하는데 첫 화면에서 Board를 눌러 Controller에서 remove()가 요청됐다는 게 이해가 가지 않습니다.
②. 게시물에 들어가 목록 버튼을 누르면 앞의 상황가 마찬가지로 삭제 실패를 알리는 알람이 뜹니다.
②-1. 목록 버튼을 누르면 삭제 알람이 떠서 board.jsp로 이동하여 코드를 확인했습니다.
목록버튼을 누르면 /board/list/로 이동합니다. 그런데 여기에서도 앞서 /board/list로가면 삭제 실패 메시지가 뜨는 똑같은 문제가 발생합니다. /board/list로 이동할 때 Controller에서 remove()를 호출하면서 문제가 발생하는게 아닌가? 짐작했습니다. 하지만 앞과 같은 이유로 문제 해결이 막혀버렸습니다.
3.문제 원인
문제의 원인은 의외로 간단했습니다. boardList.jsp의 if(msg==)문이 잘못됐습니다. <script>를 살펴보니 msg=="DEL_ERR"로 되어있어야할 if문이 if(msg="DEL_ERR")로 써져있었습니다. 그 결과 조건문이 실행되지 않고 alert가 실행됐습니다. if문이 실행되지 않으니 boardList.jsp로 이동만 하면 제일먼저 삭제가 실패했다는 알람이 먼저 뜨게 됐습니다.
4.문제 해결
if(msg="DEL_ERR")를 if(msg=="DEL_ERR")로 수정했습니다.