반응형

 · 개요 : 상황에 따라서 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를 만들어서 사용하든 본인 상황에 맞게 코드를 작성한다.

반응형

+ Recent posts