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