Map data JSTL로 출력하기

Map data JSTL로 출력하기

JSTL(Java Server Pages Standard Tag Library)로 간단하게 Map data를 뽑아보겠습니다

날짜 데이터가 나오게 쿼리를 짜줍니다. xml 작성 시 resultType을 Map으로 받아줍니다

@Override public Map selectYear() throws BlockchainException { Map result = new HashMap<>(); List> list = infographicDao.selectYear(); result.put(SUCCESS, true); result.put("list", list); return result; }

ServiceImpl에서 데이터값을 list로 받아 Map형식에 넣어줍니다

@RequestMapping("infographic") public ModelAndView mainView(@RequestParam Map paramsMap, HttpServletRequest request, ModelAndView mav) throws BlockchainException { Map param = new HashMap<>(); mav.addObject("occYear",infographicService.selectYear()); System.out.println("mav체크"); System.out.println(mav); mav.setViewName("ana/infographic"); return mav; }

model에 addObject 함수를 써서 "키값", value값을 넣어줍니다

sysout을 통해 데이터가 어떻게 나오는지 확인해보겠습니다

Map형태로 잘 들어가 있습니다

setViewName으로 지정해준 jsp파일에서 data를 뽑아보도록 하겠습니다

상단에 taglib를 써주는 것을 잊지 말아야 합니다

날짜선택 ${item.acdntOccYear}

태그를 써서 items에 불러올 데이터의 키값을 넣어줍니다. 제가 . 뒤에 list를 붙여준 이유는 success, list로 구분되어 있기 때문에 list를 넣어줬습니다 이 데이터의 변수를 var로 설정해 줍니다

다음 c:forEach안에 불러올 데이터를 ${ } 안에 선언해준 변수를 넣어줍니다. value값만 뽑기 위해 ${변수.키값 }을 선언해 주면 반복 문안에 데이터가 잘 들어가게 됩니다

from http://radiant-heat.tistory.com/35 by ccl(A) rewrite - 2021-11-05 21:01:55