728x90
글을 삭제하는 기능을 구현하자.
boardMapper에서 쿼리문부터 작성하자.
@Delete("delete from content_table " +
"where content_idx=#{content_idx}")
void deleteContent(int content_idx);
이제 boardDao와 boardService를 구현한다.
public void deleteContent(int content_idx) {
boardMapper.deleteContent(content_idx);
}
public void deleteContent(int content_idx) {
boardDao.deleteContent(content_idx);
}
Controller에서 boardService의 deleteContent를 실행해 글을 삭제한다.
delete를 호출할 때 받은 변수 두개를 requestParam으로 받아서 board_info_idx는 model로 넘겨준다.
글을 삭제한 후에 해당 게시판의 main페이지로 보내기 위해서이다.
@GetMapping("/board/delete")
public String delete(@RequestParam("board_info_idx") int board_info_idx,
@RequestParam("content_idx") int content_idx,
Model model) {
boardService.deleteContent(content_idx);
model.addAttribute("board_info_idx", board_info_idx);
return "board/delete";
}
board/delete.jsp를 작성하자.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="root" value="${pageContext.request.contextPath}/"/>
<script>
alert('삭제되었습니다.')
location.href='${root}board/main?board_info_idx=${board_info_idx}'
</script>
잘 기능하는지 살펴보자. 글 목록에 글이 3개가 있다.
삭제하기를 누르면 아래 팝업이 뜬 후,
원래 게시판의 main 페이지로 돌아온다.
글이 2개로 줄어든 것을 확인할 수 있다.
728x90
'프로젝트 > 게시판미니프로젝트' 카테고리의 다른 글
[프로젝트] 메인 화면 구성하기 (0) | 2020.05.13 |
---|---|
[프로젝트] 페이징 기법 (0) | 2020.05.13 |
[프로젝트] 글 수정하기 (0) | 2020.05.12 |
[프로젝트] 글 수정 - 작성 권한 처리 (0) | 2020.05.12 |
[프로젝트] 게시판 글 읽는 페이지 구현 (0) | 2020.05.12 |