2022. 10. 8. 14:32ㆍDev.Program/JSP & Javascript
<앞으로 할 것들…. > jQuery → MVC 패턴 → SPRING → Python, R …
< 프로젝트 - 답글 >
답글을 할 수 있으면 대댓글까지는 할 수 있음! (로직이 같기때문에)
테이블을 분리하지 않고 column 을 추가함(3개)
- 글번호는 기준으로만 쓰기 때문에 답글도 그냥 추가로 번호 달아주면 됨 ( 답글그룹 번호로 그룹을 묶을거기 때문에! )
- 글번호(기준)으로는 최근글 정렬을 못함! 이제는 답글그룹 번호로 알 수 있다!
- 답글 그룹도 글번호기준 + 일반글을 기준으로 잡기때문에 제목2(일반글)의 답글그룹은 2가 아니라 4로 잡아야함
⇒ 최신글의 순서는 이런식으로 보여지게 해야함
⇒ 답글그룹별로 내림차순 정렬 → 그룹별로 묶어놓으면 글번호 기준으로 오름차순 정렬
>> 이렇게 하려면 DB에 답글 관련 열을 추가해야함 (답글그룹, 답글들여쓰기, 답글순서)
<BoardDAO.java>
→ insertBoard() 메서드 내부
- sql문에 새로만든 컬럼들 추가해주기
- 밑에도 추가!
- 답글그룹 = 일반글 글번호와 일치하게 만들고, 답글 들여쓰기와 그룹내 순서는 0으로 맞춰놓음
→ getBoardList() 메서드 내부
- sql문에 답글 그룹 순으로 내림차순 & 중복일 경우 시퀀스 순으로 오름차순
- select * from board order by re_ref desc, re_seq asc limit ?,?
<content.jsp>
- 글수정버튼 복사해서 답글쓰기 버튼 만들기
- num 값 re_ref 값 re_lev 값 re_seq 값 같이 들고가기 (pageNum 값도 들고가도 괜찮다! ⇒ 지금은 연습이기때문에 일단 지우기)
<BoardBean.java>
- re_ref 값 re_lev 값 re_seq 값 추가해주기!
<BoardDAO.java>
- getBoardList() 메서드
- 답글 관련 추가해주기
writeForm.jsp & writePro.jsp 복사해서 reWriteForm.jsp &reWritePro.jsp 만들기
<reWiteForm.jsp>
- 바디 부분에 받아오는 파라미터 값 적어주기
- Pro로 넘길때도 가져가야하기 때문에 값을 넘겨준다(근데 눈에 안보이게 가져가야하기 때문에 hidden으로 값을 넘겨줌)
<reWritePro.jsp>
- 답글 관련 파라미터 가져오기
- BoardBean에도 담아주기!
- reInsertBoard() 메서드 호출할 것! (아직 안만들어줘서 빨간줄 → insertBoard() 비슷함)
<BoardDAO.java>
reInsertBoard() 메서드
- insertBoard() 메서드에서 이 부분만 변경
> 답글 달아보기 & 답글의 답글 달아보기
>> 이제 여기서 답글은 들여쓰기가 되도록 추가할 거!
- 들여쓰기를 추가해서 일반글과 답글이 구분되도록 해준다.
- 일반글은 들여쓰기가 0이고 나머지는 0보다 크다.
- 로 띄어쓰기 해주던지, 이미지를 흰색 이미지로 추가해주든지!
- 들여쓰기 레벨1 이면 이미지 크기가 1픽셀, 들여쓰기 레벨2면 2픽셀 이런식으로 이미지가 커지도록(들여쓰기 된 것 처럼 보이게)
- board에 이미지 추가해주기
<list.jsp>
- 이 부분 추가해주기
- getBoardList 에서 level 값 받아와야함
- 너비를 조절해서 답글과 답글의답글도 구분해준다
- 너비를 조절하면 높이도 같이 커지기 때문에 높이값은 고정시켜놓음
- 답글 1과 답글 1-1 구분!
> 근데 여기서 문제점! 일반글1에 대한 답글 2 달아보기
- 이렇게 나옴ㅜ 답글2 위치가 이상합니다!
글번호(기준) | 제목 | 답글그룹 | 답글들여쓰기 | 답글순서 |
4 | 제목2 (일반글) | 4 | 0 | 0 |
5 | ㄴ답글2 | 4 | 0+1 = 1 | 0+1 = 1 |
1 | 제목1 (일반글) | 1 | 0 | 0 |
6 | ㄴ답글2(NEW!!!) | 1 | 0+1 = 1 | 0+1 = 1 |
2 | ㄴ답글1 | 1 | 0+1 = 1 | 0+1 ⇒ +1 순서재배치 |
3 | ㄴ답글1-1 | 1 | 1+1 = 2 | 1+1 ⇒ +1 순서재배치 |
- 이렇게 달려야 함! (우리가 원하는 거!)
- 순서재배치는 답글이 새로 생성될 때에만 순서가 재배치되도록 설정
<BoardDAO.java>
reInsertBoard() 메서드
- 추가해주기!
- 이런식으로 제자리 찾아감
## 페이지 하나하나 잘라오는거(페이징) + 답글다는거 로직 기억해두기
⇒ 답글은 요즘 잘 안해서 페이징이 제일 중요!
'Dev.Program > JSP & Javascript' 카테고리의 다른 글
JQuery - (2) (1) | 2022.10.08 |
---|---|
JQuery - (1) (1) | 2022.10.08 |
게시판 만들기 - (3) (1) | 2022.10.08 |
게시판 만들기 - (2) WAR Export / Import (0) | 2022.10.08 |
게시판 만들기 - (1) (1) | 2022.10.08 |