@RequestMapping(value="boardDelete.aws") // 매핑 어노테이션 찍고
public String boardDelete(
@RequestParam("bidx") int bidx, // 가져가야할 값 게시글 번호
Model model) { // 모델에 담아서 가져갈거임
model.addAttribute("bidx", bidx); // 게시글 번호 모델에 담아주기
String path = "WEB-INF/board/boardDelete"; // 글번호 가지고 삭제 페이지로 가세요
return path; // 경로 리턴해주기
}
@RequestMapping(value="boardDeleteAction.aws", method = RequestMethod.POST) //post 방식으로 넘김
public String boardDeleteAction(
@RequestParam("bidx") int bidx,
@RequestParam("password") String password,
RedirectAttributes rttr,
HttpSession session) { // 글번호, 비밀번호, 리다이렉트, 회원번호 담긴 세션// 파라미터값으로 설정
BoardVo bv = boardService.boardSelectOne(bidx); // bidx 기준으로 한개 글 가져오는 메서드 실행
int midx = Integer.parseInt(session.getAttribute("midx").toString()); //세션에서 가져온 회원번호 숫자형으로 담아주기
int value = boardService.boardDeleteAction(bidx, midx, password); // 삭제 동작 구현할 메서드(파라미터 값 : 글번호, 회원번호, 비밀번호) 실행하고 숫자형으로 담아주기 조건문 돌리기 위함
String path = ""; // 경로 초기화
if(bv.getMidx()==midx) { // 가져온 회원번호가 현재의 회원번호와 일치하면
if(value ==1) { // 메서드 실행하고 리턴값 조건달기
path = "redirect:/board/boardList.aws"; // 성공하면 리스트페이지로 보내주고
}else { // 메서드 실행하고 실패하면 리턴 0 1이 아닌것이 리턴됨
rttr.addFlashAttribute("msg", "비밀번호가 틀렸습니다");
path = "redirect:/board/boardDelete.aws?bidx="+bidx; // 비밀번호가 틀려서 실패하면 bidx 를 가지고 삭제페이지로 보내기
}
}else { // 가져온 회원번호가 현재의 회원번호화 일치하지 않을 때
rttr.addFlashAttribute("msg", "글쓴회원이 아닙니다");
path = "redirect:/board/boardDelete.aws?bidx="+bidx; // 회원번호가 달라서 실패하면 bidx 가지고 삭제페이지로 보내기 메시지만 다르게
}
return path; // 경로 리턴
}
public int boardDeleteAction(int bidx, int midx, String password);
BoardServiceImpl 에 추가 add unimpl~
@Override
public int boardDeleteAction(int bidx, int midx, String password) {
HashMap<String, Object> hm = new HashMap<String, Object>(); // 해쉬맵으로 받아오자
hm.put("bidx", bidx);
hm.put("midx", midx);
hm.put("password", password);
int cnt = bm.boardDeleteAction(hm);
return cnt;
}
<update id="boardDeleteAction" parameterType = "HashMap">
update board set delyn = 'Y', modifyday = now() WHERE bidx = #{bidx} and midx = #{midx} and password= #{password}
</update>
persistence에 있는 BoardMapper에 선언
BoardMapper 에 선언
public int boardDeleteAction(HashMap hm); // 마이바티스용 메서드 선언