반응형
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 으로 잘 인식한다!!!!!
반응형
'웹앱프로젝트 > Spring Boot' 카테고리의 다른 글
Mybatis 한글자 숫자로 인식 (Cause: java.lang.NumberFormatException: For input string: "Y") (1) | 2023.02.02 |
---|---|
[전자정부프레임워크] eGov 인터셉터(interceptor) 설정 (0) | 2022.09.28 |
spring messageSource 파라미터 받아서 처리 (0) | 2022.09.02 |
백엔드 Spring 과 프론트엔드 Vue.js 연동한 프로젝트 생성 (0) | 2022.08.01 |
Spring Security 403 CSRF 오류 (0) | 2022.07.22 |