개발공부/개발하다_발견함

[JSTL] MAP의 key 값을 가지고 Object value 바로 뽑아내기

맙소사 2021. 7. 17. 17:24

아무리 검색해도 forEach문이 아니면 출력이 안 되고 있었는데 그냥 단계별로 하나하나 뽑다보니 나왔다.

 

예를 들면, 이하와 같은 코드를 jstl쪽으로 보내줄 경우

ValueVO valueVO = new ValueVO();
valueVO.setValue("정답!!!");

Map<String, Object> map = new HashMap<>();
map.put("key", valueVO);
model.addAttribute("map", map);

 

jsp 화면에서는 이렇게 뽑아낼 수 있다.

<c:out value="${map['key'][0].value}" />

Map<String, Object> 타입인 객체에서 뽑아낼 때 해당 객체가 리스트에 한번 감싸여서 보내지기 때문에

[0]을 사용해서 0번째 요소를 꺼낸다고 명시해주어야 내부에 있는 객체를 꺼낼 수 있음!

 

이걸 알기 전에 forEach문을 3-4 개 정도 중첩해서 돌렸었는데... 알고 나니까 너무 개운하고 속시원해서 행복함!