반응형

1. JSP 에서 map 형태로 테이터를 만든다.

var infoMap = {};
var duration = '';
var addr = '';

infoMap = {duration :duration,
            addr :addr};

 

2. JSP 에서 만든 map 을 JSON.strigify() 해준다.

var rotnInfoStr = JSON.stringify(infoMap);

 

3. FormData 에 붙여준다.

var programData = new FormData();
programData.append("keyName", rotnInfoStr);

 

 4. AJAX로 전송

$.ajax({
    headers: {},
    url : 보낼 URL 주소,
    type: 'POST',
    data: programData,
    contentType : 'application/json',
    enctype: 'multipart/form-data',
    dataType : 'json',
    processData: false,
    contentType: false,
    success : function(data) {
       
    },
    error : function(data){
        
    }
})

 

이제!!! Controller 단!!!

반응형

5. codehaus 를 이용해 Parsing 했당 (google 에서 제공하는 simple-json 을 사용해봤는데, 전자정부프레임워크를 사용해서 인지, 인식을 못하더라 그래서 codehaus를 이용함)

import org.codehaus.jackson.JsonParseException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.type.TypeReference;


@RequestMapping(value = 받는 URL 주소 , method = RequestMethod.POST)
@ResponseBody
public HashMap<String, Object> getFormDataTest(@RequestParam HashMap<String, Object> paramMap, MultipartHttpServletRequest request) {
    HashMap<String, Object> resultMap = new HashMap<String, Object>();
    if(paramMap != null) {
        String rotnMapString = paramMap.get("아까 적은 key 값").toString();
					
        try {
            ObjectMapper mapper = new ObjectMapper();
            resultMap = mapper.readValue(jsonString, new TypeReference<HashMap<String, Object>>() {});
        } catch (IOException e) {
            resultMap.put("isSuccess", isSuccess);
            resultMap.put("errorCode", "PARSING_ERROR");
            LOGGER.error("error occuring during parsing string to map in getMapFromString method. IOException error msg:{}", e.toString());
        }
    }
    return resultMap;
}

그러면 알아서 map 으로 잘 인식한다!!!!!

반응형

+ Recent posts