카테고리 없음

<IT_JAVA> 리스트 파라미터 ( 멀티 파라미터 MultiValueMap ) 의 데이터 처리

달남 2019. 11. 25. 10:36

1. 파라미터 예제값

itemDivCd=05&schlDivCd=02&svyYr=2016&pname=test&pdept=test&pphone=010-1111-1111&pmail=test%40test.com&preq=test&chkAgree=1&all-9=9-10.2014&all-9=9-10.2015&all-9=9-10.2016&all-27=27-10.2016

2. 자바 처리 데이터

@RequestMapping(value = "/popup/main0820/selectReqList.do")
	public ModelAndView selectReqRst(@RequestParam Map<String, Object> pramMap, @RequestParam MultiValueMap<String, Object> pramMapList,ModelMap model, Locale locale, HttpServletRequest request) throws Exception {
		
		pramMap.put("COLUMLAUNG", CommonUtill.getlocaleToColumStr(locale));	
		String schlDivCd	= (pramMap.get("schlDivCd") == null 	)	? "02"	 : (String) pramMap.get("schlDivCd");
		String itemDivCd	= (pramMap.get("itemDivCd") == null 	)	? "01"	 : (String) pramMap.get("itemDivCd");		
		String svyYr		= (pramMap.get("svyYr") == null 	 	)	? ""	 : (String) pramMap.get("svyYr");
		
		pramMap.put("schlDivCd", schlDivCd);
		pramMap.put("itemDivCd", itemDivCd);		    
		pramMap.put("svyYr"  , svyYr	 );	
		
		if(("").equals(svyYr)) {
			svyYr = codeService.selectYear(pramMap, locale);
			pramMap.put("paramSvyYr" , svyYr	 );
			pramMap.put("svyYr" , svyYr	 );
		}
		
		Set<String> set = pramMapList.keySet()
				.stream()
				.filter(s->s.startsWith("all-"))
				.collect(Collectors.toSet());
		List<String> selArr = new ArrayList<String>(set);
		
		List<String> selAcc = new ArrayList<String>();		
		for(int j=0;j<selArr.size();j++){
			//selAcc.add(j, (String)pramMap.get(selArr.get(j)));
			List<Object> p= pramMapList.get(selArr.get(j));
			for(int k=0;k<p.size();k++){
				selAcc.add(j, (String) p.get(k) );
			}
			
		}
		
		Map<String, Object> sendMap = null;

		List<MapDto> resultMap1 = new ArrayList<MapDto>();
		for(int j=0;j<selAcc.size();j++){
			sendMap = pramMap;
			String d = selAcc.get(j);
			String[] data = d.split("\\.");
				
			List<String> temp = new ArrayList<String>();	
			temp.add(data[0]);
			sendMap.put("selCtrlArr", temp);
			sendMap.put("svyYr" , data[1]	 );
			List<MapDto> resultMap = main0820Service.selectDnlRstItem(sendMap, locale, 5);
			resultMap1.addAll(resultMap);
		}		
	
		ModelAndView modelAndView = new ModelAndView();
		modelAndView.setViewName("jsonView");
		modelAndView.addObject("resultList1", resultMap1);

		return modelAndView;
	}

3. 처리후 리턴 데이터

{
  "resultList1": [
    {
      "colvalue1": "2016",
      "colvalue2": 9,
      "colvalue3": "02",
      "colvalue4": "10",
      "colvalue5": "Y",
      "colvalue6": "0000040716",
      "colvalue7": 1553579583000,
      "colvalue8": 1553579583000,
      "colvalue9": "0000040716",
      "colvalue10": 1544499679000,
      "colvalue11": "0000000011",
      "colvalue12": "/infofile/ACADEMYINFO_OLD_DATA/2016/02/9/",
      "colvalue13": "2016년 _대학_2-가-1. 전공과목 성적 분포_학교별자료.xls"
    },
    {
      "colvalue1": "2016",
      "colvalue2": 27,
      "colvalue3": "02",
      "colvalue4": "10",
      "colvalue5": "Y",
      "colvalue6": "0000040716",
      "colvalue7": 1553579763000,
      "colvalue8": 1553579763000,
      "colvalue9": "0000040716",
      "colvalue10": 1543392832000,
      "colvalue11": "0000014440",
      "colvalue12": null,
      "colvalue13": null
    },
    {
      "colvalue1": "2015",
      "colvalue2": 9,
      "colvalue3": "02",
      "colvalue4": "10",
      "colvalue5": "Y",
      "colvalue6": "0000000011",
      "colvalue7": 1548114497000,
      "colvalue8": 1548114497000,
      "colvalue9": "0000000011",
      "colvalue10": 1547941914000,
      "colvalue11": "0000000011",
      "colvalue12": null,
      "colvalue13": null
    },
    {
      "colvalue1": "2014",
      "colvalue2": 9,
      "colvalue3": "02",
      "colvalue4": "10",
      "colvalue5": "Y",
      "colvalue6": "0000000011",
      "colvalue7": 1548117759000,
      "colvalue8": 1548117759000,
      "colvalue9": "0000000011",
      "colvalue10": 1547942705000,
      "colvalue11": "0000000011",
      "colvalue12": null,
      "colvalue13": null
    }
  ]
}