댓글을 뷰페이지에서 직접 CRUD 하도록 구현
서버에서 처리한 댓글을 사용자가 볼수 있도록 뷰 페이지 만들고 출력하기
게시판의 특정 글을 클릭하면 상세 페이지 show 가 뜨며 그 아래 댓글이 보인다.
댓글 영역은 크게 2가지,
기존 댓글을 보여주는 영역 _list
새 댓글을 입력하는 영역 _new
/articles/5 페이지는 5번 게시글의 title, content 가 보여진다.
show.mustache와 5번 게시글 정보 사용
댓글이 페이지 맨 아래 보이게 하도록 하기 위해
footer 위 댓글 뷰 파일 삽입하기
footer처럼 {{>comments/_comments}} 로 삽입
comments에는 _line과 _new 영역이 존재하고
_comments 안에 둘다 레이아웃으로 삽입
mustache 파일 구조 만들어도 웹 뷰 페이지가 보이지 않는다.
--> MVC 패턴에서 화면에 필요한 데이터를 모델에 등록해야 한다.
다시 컨트롤러에서 show 메서드 확인, article/id 보여달라는 요청이 들어오면
리파지토리에서 해당 id의 게시글을 검색해서 show.mustache 뷰 파일을 보여주는 메서드이다.
이 메서드에서 commentDtos를 불러온다 -> 입력받은 id (부모 게시글의 id) 에 해당하는 댓글을 리스트로 가져와서
모델에 addAttribute("commentDtos", commentDtos)로 등록해준다.
이러면 mustache 뷰 파일에서 모델에있는 commentDtos 에 있는 nickname과 body를 출력해줄 수 있다.