[java, web dev] forEach를 이용해서 JSTL로 출력하기

JAVA에서 VIEW단으로 리턴한 데이터 객체를 JSTL 문법을 써서 쓰는 방법.

 

 

JAVA에서 보낸 객체가 이런형태로 생겼다고 하자.

 

[

[{key1 = lion, key2 = cat}], 

[{key1 = apple, key2 = melon}]

]

 

자바에선 List<List<HashMap<String, String>>>  이런 곳에 담겨있던 데이터이다.

복잡한가..?ㅋㅋ

 

 

 

key1, key2에 있는 값을 출력해보자.

 

 

1. 맨 바깥 리스트 벗기기

 

java에서 modelData 란 이름으로 저 데이터를 넣었다.

 

<c:forEach items="${modelData}" var="list">

${list} <br/>

</c:forEach>

 

 

포이치 한번 돌린 ${list}엔 뭐가 들어있을까?

바깥 리스트 껍데기가 하나 벗겨진

 

 

[{key1 = lion, key2 = cat}] 

[{key1 = apple, key2 = melon}]

 

이것이 출력된다.

 

 

2. 안쪽 리스트 벗기기 

 

그다음 바깥 리스트들을 빼야한다.

포이치를 한번 더 돌린다.

 

 

<c:forEach items="${modelData}" var="list">

<c:forEach items="${list}" var="map">

${map} <br/>

</c:forEach>

</c:forEach>

 

 

이젠 아래와 같이 맵들만 남는다.

 

{key1 = lion, key2 = cat} 

{key1 = apple, key2 = melon}

 

 

 

3. key1, key2의 값을 출력하기

 

 

<c:forEach items="${modelData}" var="list">

<c:forEach items="${list}" var="map">

${map[key1]} <br/>

</c:forEach>

</c:forEach>

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

 

 

${map[key1]} 또는 ${map.key1} 하면 그 키의 값이 출력될 것이다.

 

 

 

4. 두번째 리스트의 key2만 출력하기

 

melon이 나오도록 해보자.

 

그냥 ${modelData[0][1][key2]} 이렇게 해도 그만이긴 한데

나는 인덱스 개념을 알려주고 싶다. ㅋㅋㅋㅋ

 

 

 

 - JSTL에서의 인덱스 사용방법부터!!!

 

<c:forEach items="${modelData}" var="list" varStatus="status">

${status.count}<br/>

</c:forEach>

 

이렇게 하면 포가 돌때마다 카운트가 증가한다.

만약 5번 돌았다면,

1

2

3

4

5 가 출력됐을것이다.

 

${status.count} 말고도 다른것도 있다.

${status.index} 라고 쓰면 0부터 시작이 된다.  (count는 1부터 시작)

 

5번 돌았다면

0

1

2

3

4 가 출력된다.

 

그 이외에도 아래와 같은것이 있다.

여기 잘 나와있음 http://www.ibm.com/developerworks/kr/library/j-jstl0318/

 

난 count랑 index를 자주 쓰게 되는듯.

 

 

속성 Getter Description
current getCurrent() 현재 반복 라운드 아이템
index getIndex() 현재 반복 라운드의 제로 기반(zero-based) 인덱스
count getCount() 현재 반복 라운드의 1 기반(one-based) 인덱스
first isFirst() 현재 라운드가 반복을 통한 첫 번째 패스임을 나타내는 플래그
last isLast() 반복현재 라운드가 반복을 통한 마지막 패스임을 나타내는 플래그
begin getBegin() begin 애트리뷰트의 값
end getEnd() end 애트리뷰트의 값
step getStep() step 애트리뷰트의 값

 

 

 

 

다시 본론으로 들어가서 ,

melon이 나오도록 해보자.

 

 

 

<c:forEach items="${modelData}" var="list" varStatus="status">

<c:if test="${status.index eq 1}>

${list[status.index][key2]} <br/>

</c:if>

</c:forEach>

 

 

이렇게 배열의 인덱스로 응용해서 사용이 가능하다!



출처: https://marobiana.tistory.com/9 [Take Action]

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
186 [Java Web programming] Spring boot(백엔드)와 React.js(프론트엔드)의 만남 - 프론트엔드 졸리운_곰 2021.08.29 98
185 [java][spring][mybatis] [MyBatis] resultType에 넣을 수 있는 값 정리 졸리운_곰 2021.08.17 303
184 [Java Spring web programming][자바 웹 개발] 10+ Free Open Source Projects Using Spring Boot file 졸리운_곰 2021.08.12 17
183 [java 웹 프로그래밍] Spring boot - Thymeleaf 기본 문법 졸리운_곰 2021.08.11 27
182 [Java 웹 프로그래밍] Tutorial: Thymeleaf + Spring file 졸리운_곰 2021.08.10 15
181 [java][spring boot][gradle] GitHub에서 스프링 부트 & Gradle 프로젝트 Import 하기! file 졸리운_곰 2021.08.05 74
180 [java, spring] Get HTTP POST Body in Spring Boot with @RequestBody 졸리운_곰 2021.06.18 15
179 [Java, jsp, jstl] [JSTL] Functions Tag - fn:contains() 사용하기 졸리운_곰 2021.06.09 38
178 [Java, jsp, jstl] [JSTL] List 갯수(size) 구하기 졸리운_곰 2021.06.02 167
177 [java, jsp, jstl] JSTL에서 변수두개사용하기 : jsp jstl list<> 두개를 졸리운_곰 2021.06.02 149
176 [Java Web, JSTL] 반복문 <c:forEach>, <c:forTokens> 졸리운_곰 2021.05.27 20
175 [Java Web] 조건문 <c:if>, <c:choose>, <c:when>, <c:otherwise> 졸리운_곰 2021.05.26 112
» [java, web dev] forEach를 이용해서 JSTL로 출력하기 졸리운_곰 2021.05.24 70
173 [Java, Web dev] JSTL문법 <c:forEach> c:tag를 이용한 리스트 출력 file 졸리운_곰 2021.05.24 73
172 [Java][Web][Spring] vo 여러개 전달하기. LIST<VO> vo를 list 로 넘기기 / 받기 졸리운_곰 2021.05.20 1865
171 [java web dev, spring, freemaker] freemarker (개념, jsp와 차이, 문법, spring과 연동 설정, 예제) file 졸리운_곰 2021.05.17 36
170 [java web spring] [Spring] web.xml - Filter url 제외시키기 졸리운_곰 2021.05.14 143
169 [Java Web Srping mvc] Spring MVC - home.jsp의 동작원리 file 졸리운_곰 2021.05.14 37
168 [java, web, jsp] Servlet/JSP에서 Ajax 사용 file 졸리운_곰 2021.05.13 438
167 [java][JAVA WEB] [JSP] JSTL 사용 방법 - 주요 태그 문법 정리 . file 졸리운_곰 2021.04.22 13
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED