반응형
· 개요 : 상황에 따라서 ajax가 아닌 form 형식으로 컨트롤러에 json array를 전송해야 하는 상황이 있다.
· 방법 :
[자바스크립트]
var form = document.createElement("form");
var input = new Array();
form.setAttribute("charset", "UTF-8");
form.setAttribute("accept-charset", "UTF-8");
form.setAttribute("method", "POST");
form.setAttribute("action", "보낼 주소");
your_json_array.forEach(function(element, idx, array) {
input[idx] = document.createElement("input");
input[idx].setAttribute("type", "hidden");
input[idx].setAttribute("name", idx);
input[idx].setAttribute("value", JSON.stringify(your_json_array[idx]));
form.appendChild(input[idx]);
});
document.body.appendChild(form);
form.submit();
your_json_array는 당신이 준비한 json array이다.
[자바]
import com.google.gson.JsonParser;
import com.google.gson.JsonObject;
import 내가 마든 vo;
@RequestMapping(value = "보낼 주소", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
public View devsimFunction(Model model, HttpServletRequest request, @RequestParam Map<String, String> paramMap) {
List<내가 만든 VO> list = new ArrayList<내가 만든 vo>();
JsonParser jsp = new JsonParser();
JsonObject jobj;
내가 만든 vo;
for (알아서) {
jobj = (JsonObject)jsp.parse(paramMap.get(index));
vo = new 내가 만든 vo();
jobj 를 get으로 값을 받아온다....
}
}
JsonParser와 JsonObject를 이용하여 값을 받아 처리한다.
vo를 만들어서 사용하든 본인 상황에 맞게 코드를 작성한다.
반응형
'Spring' 카테고리의 다른 글
스프링 특정 시간에 컨트롤러 함수 호출하기 (0) | 2020.12.11 |
---|---|
마이바티스 vo로 foreach 다중 insert 방법 (0) | 2020.03.16 |
스프링 프로젝트 Debug on Server가 보이지 않을 때 조치 방법 (0) | 2016.10.11 |
Ajax get 방식으로는 데이터가 보내지는데 post 방식으로 안보내질 때 (0) | 2016.08.25 |