Develop
Get 호출 시 파라미터 배열값 전송하는 방법과 Java 에서 파싱하는 방법
issuemaker99
2024. 8. 7. 16:15
728x90
● Javascript - 오브젝트 형태로 배열은 Json 문자열로 변환
javascript 로 object 형태의 파라미터 정보를 생성합니다. 이때 배열정보는 배열 오브젝트를 JSON.stringify 로 문자열 형태로 만들어서 파라미터값으로 전달합니다.
var headTitle = [{title:'No'},{title:'번호'},{title:'사유'}];
var popParamObj = {
headTitles : JSON.stringify(headTitle)
}
location.href = '/COM/comPpupXlsUpld?' + $.param(popParamObj);
● Java - 파라미터값을 Map 형태로 파싱
headTitles 의 파라미터가 문자열 타입이기 때문에 Map 으로 변환될 수 있게 파싱 합니다.
@GetMapping("/comPpupXlsUpld")
public ModelAndView getComPpupXlsUpld(HttpServletRequest request) throws JsonMappingException, JsonProcessingException {
ModelAndView mav = new ModelAndView("common/popup/comPpupXlsUpld");
List<Map<String, String>> headTitles = new ArrayList<Map<String, String>>();
if (request.getParameter("headTitles") != null && !"".equals(request.getParameter("headTitles"))) {
ObjectMapper objectMapper = new ObjectMapper();
TypeReference<List<Map<String, String>>> typeReference = new TypeReference<List<Map<String,String>>>() {};
headTitles = objectMapper.readValue(request.getParameter("headTitles").toString(), typeReference);
}
mav.addObject("headTitles", headTitles);
return mav;
}
LIST