Project B (SPMS)/Project B 파트5(24)
-
[B -2-50] Ajax 댓글 처리 23 : [댓글 페이지의 화면 처리]
댓글의 화면 처리 방식 게시물을 조회하는 페이지에 들어오면 기본적으로 제일 오래된 댓글들을 갖고와서 1페이지에 보여준다. (하지만, 필자의 프로젝트에서는 제일 최신 댓글들을 1페이지에 보여주는 식으로 처리할 것이다.) 1페이지의 게시글을 갖고올 때 해당 게시글의 댓글의 숫자를 파악해서 댓글의 페이지 번호를 출력한다. 댓글이 추가되면 댓글의 숫자만을 갖고와서 최종 페이지를 찾아서 이동한다. 댓글의 수정과 삭제 후에는 다시 동일 페이지를 호출한다. /webapp/js/ reply.js getList() ...더보기 console.log("Reply Module........"); var replyService = (function() { function add(reply, callback, error) { ..
2019.10.09 -
[B -2-49] Ajax 댓글 처리 22 : [댓글의 숫자 파악]
src/main/java com.spms.mapper ReplyMapper.java 인터페이스 getCountByBno() ...더보기 package com.spms.mapper; import java.util.List; import org.apache.ibatis.annotations.Param; import com.spms.domain.Criteria; import com.spms.domain.ReplyVO; public interface ReplyMapper { public int insert(ReplyVO vo); public ReplyVO read(Long bno); public int delete(Long rno); public int update(ReplyVO reply); public Li..
2019.10.09 -
[B -2-48] Ajax 댓글 처리 21 : [댓글의 페이징 처리]
현재까지 작성된 게시글의 전체 댓글을 가져와서 화면에 출력한다. 문제는 댓글의 숫자가 엄청나게 많을 경우이다. 댓글의 숫자가 많다면 데이터베이스에서 많은 양의 데이터를 갖고와야 하고, 이는 성능상에 엄청난 문제를 야기한다. 일반적으로 이런 문제를 페이징 처리를 이용해서 처리한다. 데이터베이스의 인덱스 설계 인덱스 작성 create index IDX_REPLY on TBL_REPLY (BNO desc, RNO desc); 댓글에 대해서 우선적으로 고려해야 하는 일은 TBL_REPLY 테이블을 접근할 때 댓글의 번호(rno)가 중심이 아니라, 게시물의 번호(bno)가 중심이 된다는 점이다. 데이터가 많아지면 성능에 문제가 발생할 수 있기때문에, 효율을 높이고 싶다면, 게시물의 번호에 맞게 댓글들을 모아서 빠..
2019.10.09 -
[B -2-47] Ajax 댓글 처리 20 : [댓글의 수정/삭제 이벤트 처리]
views/board get.jsp ...더보기 게시판 조회 게시글 조회 페이지 글 번호 작성자 제목 내용 수정 목록 댓글 목록 댓글 작성 × 댓글 등록 작성자 내용 일자 수정 삭제 등록 닫기 댓글 삭제 및 수정 작업 모두 작업이 끝난 후에는 다시 댓글 목록을 갱신해야 한다. 댓글 삭제 역시 모달창에 있는 data-rno 값을 이용해서 처리한다. 댓글 삭제 및 수정은 정상적으로 작동한다.
2019.10.09 -
[B -2-46] Ajax 댓글 처리 19 : [특정 댓글의 클릭 이벤트 처리]
views/board get.jsp ...더보기 게시판 조회 게시글 조회 페이지 글 번호 작성자 제목 내용 수정 목록 댓글 목록 댓글 작성 × 댓글 등록 작성자 내용 일자 수정 삭제 등록 닫기 댓글은 댓글의 목록에서 내용이 전부 다 출력되기때문에 별도로 클릭한다는 것은 해당 댓글을 수정하거나 삭제하는 경우에만 발생한다. 댓글의 수정과 삭제는 원칙적으로 로그인한 사용자가 해당 댓글의 작성자인 경우에만 허락되어야 한다. 단, 현재까지 로그인에 대해서 처리된 적이 없으므로 코드에서는 어떠한 댓글도 수정/삭제가 되도록 작성한다. DOM에서 이벤트 리스너를 등록하는 것은 반드시 해당 DOM 요소가 존재해야만 가능하다. 위와 같이 동적으로 Ajax를 통해서 태그들이 만들어지면 이후에 이벤트를 등록해야되기때문에 일반..
2019.10.09 -
[B -2-45] Ajax 댓글 처리 18 : [댓글 작성 다이얼로그]
views/board get.jsp ...더보기 게시판 조회 게시글 조회 페이지 글 번호 작성자 제목 내용 수정 목록 댓글 목록 댓글 작성 × 댓글 등록 작성자 내용 일자 수정 삭제 등록 닫기 브라우저에는 댓글 목록의 오른쪽에 댓글 작성 버튼이 있다. 댓글의 추가는 모달창을 이용해서 작성하며, 별도로 화면 중앙에 위치하기때문에 태그를 추가하는 위치는 그닥 신경쓰지 않아도 된다. 태그의 시작 전에 모달창 코드를 추가한다. (모달창 코드는 SBAdmin2의 pages 폴더 내 notifications.html 안에 포함되어 있다.) 모달창은 브라우저에서 댓글에 대한 여러 작업(CRUD)에서 활용할 것이므로 필요한 모든 내용을 담도록 하고 각 작업에 맞게 버튼이나 입력창이 보이거나 감춰지도록 한다. 새로운 댓..
2019.10.09