728x90

 

 

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>

 

728x90
반응형

+ Recent posts