-
Spring Json 데이터 보내기Framework/Spring 2019. 9. 30. 23:54반응형
오늘은 Spring 으로 CRUD를 만드는 중에 jquery로 Ajax 비동기 통신을 해 보았다. 처음에는 통신 성공이 되지 않아서 골치 거리 였는데 console.log("1")로 확인해 보니 통신 성공이 되는 걸 알았다. 하지만 데이터를 넘어오지 않는 것을 보니 json데이터로 통신이 되지 않는 문제 라는 것을 파악 할 수 있었다. 그래서 json파일을 어떻게 spring으로 구현을 하는지 포스팅 하겠다.
@RequestMapping(value = "/insert", method = RequestMethod.POST) public void insert(HttpServletRequest request,BoardBean bb,HttpServletResponse response) { session.selectOne("test.insert", bb); JSONObject jsonObject = new JSONObject(); //Spring에서 JsonObject로 데이터를 만들어준다. boolean result = true; //데이터를 만들어 준다 jsonObject.put("result", result); //put을 통해 데이터를 보내준다. try { response.getWriter().print(jsonObject); //response.getWriter로 프린트 해주면 통신 성공 } catch (Exception e) { e.printStackTrace(); } }
다른 내용은 필요 없고 json 데이터를 보내는 법을 보자.
JsonObject를 이용하여 객체를 만들고
put메소드를 이용하여 데이터를 삽입해준다.
jsonObject를 response로 보내주면 통신이 성공 한다.
$("#content_insert").click(function(e){ e.preventDefault(); var data = { 'title' : $("#write_title").val(), 'content' : $("#write_content").val(), 'star': star, 'name' : $('#write_name').text() } $.ajax({ url: "/insert", data: data, method:"POST", contentType: "application/x-www-form-urlencoded; charset=UTF-8", dataType: "json", success : function(data){ console.log(data); $("#content_update").addClass("dn"); $("#content_write").addClass("dn"); $("#content_list").removeClass("dn"); location.reload(); } }); });
통신이 성공하면 데이터를 console, html 에 찍어보면 result가 true인 것을 알 수 있다.
통신이 성공한 다음 function의 내용이 실행 된다.
<div class="content_outer dn" id="content_write"> <form name="write_form" method="POST"> <div class="form-group"> <label style="font-size: 40px;">제목</label> <div style="float: right;">작성자 <a id="write_name"><%=request.getAttribute("id")%></a> </div> <input id="write_title" class="form-control" name="title" placeholder="제목을 입력해주세요"> <hr> </div> <div class="form-group"> <h5>내용</h5> <textarea id="write_content" class="form-control" name="content" rows="5" placeholder="내용을입력해주세요"></textarea> <hr> </div> <div class="form-group"> <p class="star_grade" > <a href="#" value="1">★</a> <a href="#" value="2">★</a> <a href="#" value="3">★</a> <a href="#" value="4">★</a> <a href="#" value="5">★</a> </p> </div> <h5>첨부파일</h5> <input class="btn btn-outline-primary" type="file" enctype="multipart/form-data" multiple="multiple"><br><hr> <button class="btn btn-outline-success" id="content_insert" >작성</button> <button class="btn btn-outline-danger" id="write_cancel">취소</button><br> </form> </div>
반응형'Framework > Spring' 카테고리의 다른 글
Spring 구동 방식 Container 내용 간단하게 정리하기 (0) 2022.05.03 Spring Json 한글 깨짐 오류 정리 모음 (1) 2019.10.02 Spring 시작 하기 (0) 2019.09.21