본문 바로가기
수업내용

20230703 댓글 기능 구현

by titlejjk 2023. 7. 3.

CafeController에서 아래 메서드를 작성해 준후에

//댓글 삭제 요청 처리
	@RequestMapping("/cafe/comment_delete")
	@ResponseBody
	public Map<String, Object> commentDelete(HttpServletRequest request){
		service.deleteComment(request);
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("isSuccess", true);
		//{"isSuccess":true}형식의 JSON문자열이 응답되도록 한다.
		return map;
	}

CafeServiceImpl에서 

@Override
	public void deleteComment(HttpServletRequest request) {
		int num = Integer.parseInt(request.getParameter("num"));
		//삭제할 댓글 정보를 읽어와서
		CafeCommentDto dto = cafeCommentDao.getData(num);
		String id=(String)request.getSession().getAttribute("id");
		//글 작성자와 로그인된 아이디와 일치하지 않으면
		if(!dto.getWriter().contentEquals(id)) {
			throw new NotDeleteException("응 앙대");
		}
		//dao를 이용해서 DB에서 삭제하기
		cafeCommentDao.delete(num);
	}

삭제메서드로 등록해준다.

 

#dto는 Session에 id와 비교하기 위해 호출한거였음.

 

댓글을 삭제할 경우 DB에서 yes를 반환하게 해두었다.

 

댓글의 수정

updateForm(수정폼)은 이미 준비가 되었는데 수정버튼을 click했을 시 수정폼이 출력되도록 해두었다.

 

action = "comment_update"이기에 CafeController로 가서 

//댓글 수정 요청처리(JSON을 응답하도록 한다)
	@RequestMapping("/cafe/comment_update")
	@ResponseBody
	public Map<String, Object> commentUpdate(CafeCommentDto dto){
		service.updateComment(dto);
		Map<String, Object> map=new HashMap<String, Object>();
		map.put("isSuccess", true);
		//{"isSuccess":true} 형식의 JSON문자열이 응답되도록 한다.
		return map;
	}

 

해준후 CafeServiceImpl에서 완성해준다

@Override
	public void updateComment(CafeCommentDto dto) {
		cafeCommentDao.update(dto);
	}

 

'수업내용' 카테고리의 다른 글

20230704 jQuery  (0) 2023.07.04
20230703 이미지갤러리 만들기  (0) 2023.07.03
20230703 jQeury  (0) 2023.07.03
20230629 jQeury  (0) 2023.06.29
20230628 수업내용 Up/DouwnloadFile🤣🤣🤣  (0) 2023.06.28

댓글