프로젝트

10. 공지사항 게시판 (삭제, 수정)

하차모 2023. 5. 18. 19:58

게시글 삭제

<div class="col d-grid gap-1 d-md-flex justify-content-md-end">
	<input type="button" class="btn btn-primary me-md-1" th:onclick="|location.href='@{/notice/update(boardNum=${notice.boardNum})}'|"  value="수정">
	<input type="button" class="btn btn-primary me-md-1" th:onclick="deleteBoard([[${notice.boardNum}]]);" value="삭제">
	<input type="button" class="btn btn-primary" th:onclick="|location.href='@{/notice/list}'|" value="목록">
</div>
function deleteBoard(boardNum) {
	if(confirm('정말 삭제하시겠습니까?')) {
		location.href = "/notice/delete?boardNum=" + boardNum;
	}
}

삭제 버튼 클릭시 onclick으로 자바스크립트 함수 실행함

처음에는 delete로 데이터 삭제가 아니라 상태값을 3(삭제)로 변경하는 방법도 생각해봤는데 어차피 공지 게시판이랑 자료실은 관리자만 쓸 수 있으니까..

커뮤니티 게시판에서는 글 삭제 시 상태값을 3으로 변경하고 관리자는 상태값이 3인(=사용자가 삭제한) 글을 검토하고 관리할 수 있는 기능을 추가로 만들 예정

 

 

 

수정 버튼 클릭시 게시글 수정 폼으로 이동

 

게시글 수정

중요글 체크박스가 까다롭다.. 라디오 버튼으로 만드는 방법도 있지만 이 기능에는 체크박스가 들어가는 게 맞는 느낌이기 때문에 바꾸지 않기로 함

중요글 체크박스를 해제하고 수정 버튼을 눌렀을 때 isImportant에 null값이 들어가기 때문에 오류가 난다.

controller에서 null값 처리하기로 함. 받은 boardVO에서 isImportant가 null값으로 넘어왔을 경우, setter를 사용해 ‘N’으로 바꿔 주면 된다. (근데 이 방법이 효율적인 방법인지는.. 모르겠음)

 

//글 수정
	@PostMapping("/update")
	public String noticeUpdate(BoardVO boardVO) {
		//중요글 체크 해제 시 null값 체크
		if(boardVO.getIsImportant() == null) {
			boardVO.setIsImportant("N");
		}
		
		noticeService.updateBoard(boardVO);
		
		return "redirect:/notice/detail?boardNum=" + boardVO.getBoardNum();
	}