Spring 게시판 만들기(24)
댓글기능 3
수정하고 버튼 클릭시 다시 데이터 보내기
<script>
// 모달 대화 상자에서 수정버튼 클릭
$("#btn_replyModify").on("click", function(){
let rno = $("#rno").val(); //댓글번호
let reply = $("#reply").val(); // 댓글내용
//자바스크립트 Object구문
let replyObj = { rno:rno, reply:reply };
// 서버측에 보낼 데이타를 JSON문법구조의 문자열로 변환작업.
let replyStr = JSON.stringify(replyObj);
console.log(replyStr);
$.ajax({
type: 'post',
url: '/replies/new',
headers: {
"Content-Type" : "application/json", "X-HTTP-Method-Override" : "POST"
},
dataType: 'text', // 매핑주소의 리턴값 타입
data: replyStr, // 전송데이타 {"bno":5120,"replyer":"user01","reply":"댓글테스트"}
success: function(result) {
if(result == "success"){
alert("댓글 데이타 수정 성공");
}
}
});
});
</script>
SQL 연결해서 update하기
컨트롤러
@PutMapping(value = "/modify/{rno}")
public ResponseEntity<String> update(@PathVariable("rno") Long rno, @RequestBody ReplyVO vo){
ResponseEntity<String> entity = null;
service.modifyReply(vo);
entity = new ResponseEntity<String>("success", HttpStatus.OK);
return entity;
}
xml
<update id="update">
update tbl_reply set reply = #{reply}, updatedate = sysdate
where rno = #{rno}
</update>
mapper, service
int update(ReplyVO vo);
int modifyReply(ReplyVO vo);
serviceImpl
@Override
public int modifyReply(ReplyVO vo) {
// TODO Auto-generated method stub
return mapper.update(vo);
}
컨트롤러에서 put - ajax 작업
<script>
// 모달 대화 상자에서 수정버튼 클릭
$("#btn_replyModify").on("click", function(){
let rno = $("#rno").val(); //댓글번호
let reply = $("#reply").val(); // 댓글내용
//자바스크립트 Object구문
let replyObj = { rno:rno, reply:reply };
// 서버측에 보낼 데이타를 JSON문법구조의 문자열로 변환작업.
let replyStr = JSON.stringify(replyObj);
console.log(replyStr);
$.ajax({
type: 'put',
url: '/replies/modify/' + rno,
headers: {
"Content-Type" : "application/json", "X-HTTP-Method-Override" : "PUT"
},
dataType: 'text', // 매핑주소의 리턴값 타입
data: replyStr, // 전송데이타 {"bno":5120,"replyer":"user01","reply":"댓글테스트"}
success: function(result) {
if(result == "success"){
alert("댓글 데이타 수정 성공");
// Modal Dialog의 내용물 수정
$("#replyTitle").html("New Reply");
$("#rno").val("");
$("#replyer").val("");
$("#reply").val("");
$(".btnModal").hide(); // 모달대화상자의 3개버튼을 모두 보이지 않게
$("#btn_replySave").show();
$("#replyModal").modal('hide');
let url = "/replies/pages/" + bno + "/" + replyPage + ".json"; // 댓글목록및 페이징정보 요청주소
getPage(url);
}
}
});
});
</script>
댓글남기기