본문 바로가기

최종프로젝트

댓글 수정 문제

728x90
반응형

1.  댓글 ->  mem_name 으로 변경 성공했지만 

 

[문제점] 
2. 등록을 하면 바로 mem_name이 안되고 mem_no로 되고 수정 삭제버튼 안보이고

   새로고침하면 mem_name과 버튼이 보이게 된다.

 

! 일단 나의 문제점 

등록, 수정, 삭제 방법을 하나로 통일하면 수월했겠지만, 등록은 ajax로 하고 수정은 모달창 방법을 택하여서 

내용이 꼬이게 되어서 저런 문제점이 발생한 것이다. 

일단 코드를 저렇게 짜서 어쩔 수 없지만 다음엔 꼭 코드 경로이해를 먼저 생각한 다음 코드를 한 방향으로 짜도록 하여 

이러한 수고로움을 덜도록 해야겠다. 

 

1.

댓글 select 부분 xml을 member와 조인하여 쿼리를 짠다.

(나중에 더 정확하게 join 공부를 해야겠다)

 

해당 replyVO에 join될아이를 추가해준다. 

 

    : items의 값으로 둔 ${replyList}를 vo라는 변수로 지정하여 사용한 것 

 

여기서 replyList는 

 

 

2.

문제점 찾기 첫번째로 일단 댓글 리스트가 index에 맞게 잘 들어가있는지 뷰단에 저렇게 찍어보기 

그러면 이렇게 나온다 

 

 

그리고 지금 현재 문제점은 수정에 모달창을 이용하고 있는데 댓글 리스트보여지는 단에 <c:forEach>준 것처럼 

모달창에서도 <c:forEach>를 줬는데 불필요하게 모달창을 댓글 달린 수 만큼 띄우는 것이나 마찬가지이므로

모달창에있는 <c:forEach> : 반복부분을 지운다. 즉, 딱 하나만 나오게끔 .. 

 

 

나는 지금까지 모달 수정창은 임의적으로 content내용을 끄집어 냈는데 이 부분을 주석처리한다 

 

 

comment_list 에서  updateReply에 있는 수정버튼을 누를때 부모안에 형제들중 0번째에 있는 텍스트 값을 re_content라는 변수에 넣고 모달창에있는 input값에 있는 name 이름안에다가 re_content값을 넣고 

임시로 모달창에 hidden값으로 넣은 bd_no 와 re_no를 값을 실행시킨다. 

 

 

 

 

모달창에 있는 수정 버튼에 아이디값을 준 뒤 

이벤트 값 주고 수정버튼을 눌렀을 때  updateReply2 실행하기  

 

임시로 넣어놨던 modal_bd_no 와 modal_re_no의 값을 가져와서 모달창에 있는 수정버튼을 클릭했을때 

re_content, bd_no, re_no를 같이 controller로 보낸다 

 

그러면 이렇게 controller에서 기능을 수행해서  return 으로 보낼 때 나머지 값을과 함께 boardView에 같이 출력해서 보낸다 

 

이렇게 하면 정상적으로 수정이 완료가 된다. 

 

 

 

innerText : 사용자에게 보여지는 텍스트 값만 가져온다 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형

'최종프로젝트' 카테고리의 다른 글

MyBatis  (0) 2020.08.22