Berry-G / YoungCultureCenter

TEAM Young'tve jobs HOMEPAGE making project
0 stars 2 forks source link

Spring Security 게시판 수정 및 삭제 #125

Closed asel0joo closed 1 year ago

asel0joo commented 1 year ago

3. 게시판 수정하기(Upload), 삭제하기(Delete)

① 아이디가 일치하지 않으면 수정, 삭제버튼 숨김

② 아이디가 일치하면 수정, 삭제버튼 노출

//삭제하기 버튼 클릭 시 작동 $("#deleteBtn").on("click", function() { if(!confirm("정말로 삭제하시겠습니까?")) return;

let form = $("#form")
form.attr("action","<c:url value='/board/remove${searchItem.queryString}' />")
form.attr("method", "post")
form.submit()

})


1. **게시글 수정하기(Uplodad) 로직**
    1) 게시글 정보 불러오기 → 글 수정 페이지 open → 글 수정 내용 DB 업데이트
- write.jsp
```html
<form action='<c:url value="/board/edit1" />' name="writeForm" method="post">
    <div class="container mt-5">
        <h3 class="posttitle pt-3">글쓰기</h3>
            <hr>
                <!-- 게시판 유형 선택 시 value값이 DB에 저장  -->
                <select class="form-select mb-2"  id="boardType" name="article_Board_type" style="width: 180px;">
              <option selected disabled="disabled">선택해주세요.</option>
              <option value="공지사항">공지사항</option>
              <option value="이벤트">이벤트/행사</option>
        </select>
                <input type="text" class="form-control mb-3" id="title" name="article_title"
                 placeholder="제목을 입력해주세요" value="${boardDto.article_title }">
            <textarea class="summernote mb-5" id="contents" name="article_contents"  >
            ${boardDto.article_contents}</textarea>                             
        <div class="m-5" style="text-align: center;">
            <input class="btn btn-primary mx-3" id="regBtn" type="button" onclick="regCheck()" value="등록하기" >
            <input class="btn btn-secondary" type="button" value="취소하기">
        </div>
        <input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}">
    </div>
</form>
<script>

//summernot 
$('.summernote').summernote({
    height: 400,
    lang: "ko-KR"
  });

//등록하기 버튼 클릭 시 작동
function regCheck() {
    // 게시판 유형 값이 없으면 alert창 띄우기 
    if($("#boardType option:selected").val()=="선택해주세요."){
        alert("게시판 유형을 선택해주세요.")
    }
    //title에 값이 없으면 alert창 띄우고 ,focus
    else if($("#title").val()== ""){
        alert("제목을 입력해주세요");
        document.writeForm.article_title.focus();
    }
    //contents에 값이 없으면 alert창 띄우고 ,focus
    else if($("#contents").val()==""){
        alert("내용을 입력해주세요");
        document.writeForm.article_contents.focus();
    }
    //title, contents에 값이 있으면 submit 후 alert창 띄우기 
    else if($("#title").val()!="" && $("#contents").val()!="") {
        document.writeForm.submit();
        alert("등록되었습니다.")
    }

}

  </script>

수정할 데이터 불러오기, 수정 내용 DB 업데이트 완료!

① 수정할 데이터 불러오기, 삭제버튼 클릭

② 수정한 내용 정상적으로 update 됨

③ 데이터도 성공적으로 들어감

  1. 게시글 삭제하기(Delete) 로직

    • BoardController.java
      
      //게시글 삭제
      @PostMapping("/remove")
      public String remove(Integer article_id) {

    try { //삭제할 게시글 데이터 가져오기 BoardDto tmpboard=boardService.getArticleEdit(article_id);

    if(boardService.remove(article_id)== 1) {
       //boardDto에서 받은 board-type이 "N"이면 공지사항게시판에 insert
       if(tmpboard.getArticle_Board_type().equals("공지사항") ) {
          //insert 후 공지사항 게시판으로 보여줌
          return "redirect:/board/notice";               
       }
       //boardDto에서 받은 board-type이 "E"이면 이벤트/행사 게시판에 insert
       else if(tmpboard.getArticle_Board_type().equals("이벤트") ) {
          //insert 후 이벤트 게시판으로 보여줌 
          return "redirect:/board/event";
       }
    }

    } catch (Exception e) {e.printStackTrace();}

    return "redirect:/board/notice"; }

① 삭제버튼 클릭

② 해당 게시물 삭제됨