Controller
/********************************************** QnA : 수정 *******************************************************/
@RequestMapping("boardQnaUpdateView.bo")
public String boardUpdateForm() {
return "boardQnaUpdateForm";
}
@RequestMapping("boardQnaUpdateForm.bo")
public String updateBoardQna(@ModelAttribute BoardQnA b, @RequestParam("page") int page,
HttpSession session) {
String id = ((Member)session.getAttribute("loginUser")).getEmail();
b.setEmailId(id);
int result = bService.updateBoardQna(b);
if(result > 0) {
//model.addAttribute("board", b)...;
// 보드 보낼 필요없음. 화면 상세보기 페이지로 가기 때문에 상세보기 페이지로 가는 bdetail.bo 이용하면 됨
//return "redirect:bdetail.bo?bId=" + b.getBoardId() + "&page=" + page;
// 리다이렉트인데 데이터보존됨
// model.addAttribute("bId",b.getBoardId());
// model.addAttribute("page",page);
return "redirect:boardQna.bo";
} else {
throw new BoardException("문의사항 수정에 실패하였습니다.");
}
}
/********************************************** QnA : 삭제 *******************************************************/
@RequestMapping("boardQnaDeleteForm.bo")
public String deleteBoard(@ModelAttribute BoardQnA b, HttpSession session) {
String id = ((Member)session.getAttribute("loginUser")).getEmail();
b.setEmailId(id);
int result = bService.deleteBoardQna(b);
if(result > 0) {
return "redirect:boardQna.bo";
}else {
throw new BoardException("QnA 삭제에 실패하였습니다.");
}
}
Service & DAO
// BoardService
int updateBoardQna(BoardQnA b);
int deleteBoardQna(BoardQnA b);
// BoardServiceImpl
// QnA 수정
@Override
public int updateBoardQna(BoardQnA b) {
return bDAO.updateBoardQna(sqlSession, b);
}
// QnA 삭제
@Override
public int deleteBoardQna(BoardQnA b) {
return bDAO.deleteBoardQna(sqlSession, b);
}
// BoardDAO
// QnA 수정
public int updateBoardQna(SqlSessionTemplate sqlSession, BoardQnA b) {
return sqlSession.update("boardMapper.updateBoardQna",b);
}
// QnA 삭제
public int deleteBoardQna(SqlSessionTemplate sqlSession, BoardQnA b) { // delete도 가능. status='N'으로 변경
return sqlSession.update("boardMapper.deleteBoardQna",b);
}
Board-mapper.xml
<!-- QnA 수정 -->
<update id="updateBoardQna">
update qna
set qna_title = #{qnaTitle}, qna_content = #{qnaContent}
where email_id = #{emailId}
</update>
<!-- QnA 삭제 -->
<update id="deleteBoardQna">
update qna
set qna_status = 'N'
where email_id = #{emailId}
</update>
뷰단 삭제 메세지 추가
<script>
function boardQnaDelete(){
if(confirm("정말 삭제하시겠습니까?")){
location.href="boardQnaDeleteForm.bo"
}
}
</script>