
myHomeSelect.jsp
**<조회하는 ajax중>**
// 로그인한 사용자에게만 대댓글 버튼 보이기
if (isLogOn == 'true' && member != null) {
str += '<div class="buttons" style="text-align: left; margin-top: 10px;">' +
'<button class="rereToggle" value="대댓글 작성" onclick="rereToggle(' + reply.replyNo + ', this)">답변</button>' +
'</div>';
}
**<숨겨져 있는 대댓글 작성란>**
// 대댓글 작성 폼
if (isLogOn == 'true' && member != null) {
str += '<div class="rereplyForm" style="display: none; margin-top: 10px;">' +
'<textarea class="rereplyContents" placeholder="여기에 작성해 주세요." style="width: 100%;"></textarea>' +
'<button class="addRereply" type="button" onclick="addRereply(' + reply.replyNo + ', this)">등록</button>' +
'</div>';
}
**<스크립트>**
// 대댓글 작성 클릭시 숨겨져 잇던 rereplyForm 두두 등장
function rereToggle(replyNo, button) {
$(button).closest('div').next('.rereplyForm').toggle();
}
// 대댓글 등록
function addRereply(replyNo, button) {
var rereplyContents = $(button).siblings('.rereplyContents').val(); // 텍스트 영역의 값 가져오기
if (${isLogOn == true && member != null}){
if (rereplyContents) {
$.ajax({
url: '/gami/board/reply/addRereply.do',
type: 'POST',
data: {
replyNo: replyNo,
rereplyContents: rereplyContents,
boardMyhomeArticleNo: ${selectMyHome.boardMyhomeArticleNo}
},
success: function() {
alert('대댓글이 등록되었습니다.');
replyList(); // 댓글 목록을 새로 고침
},
error: function() {
alert('대댓글 등록 실패');
}
});
} else {
alert('대댓글 내용을 입력해 주세요.');
}
}else {
alert('로그인 후에 작성하실 수 있습니다.');
}
}
ReplyController
// 대댓글 추가
@RequestMapping(value="/addRereply.do", method=RequestMethod.POST)
@ResponseBody
public void addRereply(@RequestParam("rereplyContents") String replyContents,
@RequestParam("replyNo") int replyNo,
@RequestParam("boardMyhomeArticleNo") int boardMyhomeArticleNo,
HttpSession session) throws Exception {
System.out.println("응답 왔냐?");
System.out.println("replyContents 받았냐 ?: " + replyContents); // 글 내용
System.out.println("replyNo 받았냐 ?: " + replyNo); // 부모 번호
System.out.println("boardMyhomeArticleNo 받았냐 ?: " + boardMyhomeArticleNo); // 원글 번호
MemberDomain memberDomain = (MemberDomain) session.getAttribute("member");
String memberId = memberDomain.getMemberId();
String memberNickname = memberDomain.getMemberNickname();
replyDomain.setMemberId(memberId);
replyDomain.setReplyParentNo(replyNo);
replyDomain.setBoardMyhomeArticleNo(boardMyhomeArticleNo);
replyDomain.setReplyContents(replyContents);
replyDomain.setMemberNickname(memberNickname);
System.out.println("대댓글 닉네임 들어왔니? " + memberNickname);
replyService.addRereply(replyDomain);
}
ReplyServiceImpl
@Override
public void addRereply(ReplyDomain replyDomain) throws Exception {
replyDAO.addRereply(replyDomain);
}
ReplyDAOImpl
@Override
public void addRereply(ReplyDomain replyDomain) throws DataAccessException {
sqlSession.insert("mapper.board.addRereply", replyDomain);
}