Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

개발자되기 프로젝트

댓글 삭제버튼 추가 본문

Project/블로그 게시판 만들기

댓글 삭제버튼 추가

Seung__ 2021. 10. 9. 15:28

1. 댓글 삭제버튼 추가


  • 간단하게 table <td> 안에 <form>을 추가해줬다.
  • 이 때 PathVariable로는 comment의 id,
  • QueryParameter로  현재 Post의 id를 넘겨준다.
<table class="table" style="max-width: 600px; text-align:center" align="center">

    <thead>
    <tr>
        <th>작성자</th>
        <th>내용</th>
        <th>작성일</th>
        <th>삭제</th>
    </tr>
    </thead>
    <tbody>
    <tr th:each="comment : ${comments}">
        <td><a href="post.html" th:href="@{/members/{memberId}(memberId=${comment.member.id})}" th:text="${comment.member.userId}">작성자</a></td>
        <td th:text="${comment.content}">댓글 내용</td>
        <td th:text="${{comment.lastModifiedDate}}"></td>
        <td>
            <form th:action="@{/comments/{commentId}/delete?postId={id}(commentId=${comment.id}, id=${post.id})}" th:object="${commentDto}" method="post">
                <button type="submit" class="btn-close" aria-label="Close"></button>
            </form>
        </td>
    </tr>
    </tbody>
</table>

 

2. Controller


  • view에서 넘어오는 PathVariable, QueryParameter를 받아서 처리함.
  • comment 삭제 후 현재 게시물로 redirect
    @PostMapping("/{commentId}/delete")
    public String deleteComment(@PathVariable("commentId") Long id, @RequestParam("postId") Long postId, RedirectAttributes redirectAttributes){
        commentService.deleteComment(id);

        redirectAttributes.addAttribute("postId", postId);
        return "redirect:/posts/{postId}";
    }

 

 

3. 결과


  • 댓글 삭제 전

 

  • 댓글 삭제

 

 

 

4. 앞으로


  • est용 data 서버시작할 때 DB에 올리기
  • Listener
    • createdAt, updatedAt등
  • 게시글에 작성자 표시
  • view 정리
  • 게시글 검색
    • 검색 옵션 추가 : 작성자, 제목 구분
  • 영속성 전이 설정
    • 게시글 삭제
    • 회원 탈퇴
  • 댓글 삭제 버튼
  • 대댓글
  • 검증 & 예외처리
    • 회원 가입시 필수 정보 지정.
    • 데이터 타입 지정
  • 인증처리
    • 로그인한 사용자만 글 & 댓글 작성 가능.
    • 본인이 작성한 글, 댓글만 삭제 가능
    • 관리자는 모든 권한
  • 예외처리
  • 페이징 처리
  • 컬렉션 조회 최적화

 

 

5. GitHub: 211009 remove comment


 

 

GitHub - bsh6463/blog

Contribute to bsh6463/blog development by creating an account on GitHub.

github.com

 

Comments