디케이
[html] <c:forEach>, <c:forTokens> 태그 사용법 본문
<c:forEach>는 List, 배열 요소를 순서대로 반복해서 처리할 수 있는 태그 입니다.
1. 이름 목록을 가진 ArrayList를 출력하는 예제 입니다.
// 리스트를 만들어서 모델에 넣습니다.
List<String> nameList = new ArrayList<String>(Arrays.asList("홍길동", "김철수", "박영희"));
model.addAttribute("nameList", nameList);
<%-- JSP 페이지에서 출력합니다. --%>
<c:forEach var="name" items="${nameList}" varStatus="status">
<p>${status.count} : <c:out value="${name}" /></p>
</c:forEach>
실행결과:
1 : 홍길동
2 : 김철수
3 : 박영희
2. 객체가 들어 있는 리스트를 출력하는 방법 입니다.
<c:forEach var="boardVO" items="${boardList}">
<p><c:out value="${boardVO.title}" /></p>
</c:forEach>
위 코드는 boardVO 객체의 getTitle() 메소드를 호출한 결과를 출력합니다.
3. Map 이 들어있는 리스트를 출력하는 방법 입니다.
<c:forEach var="boardMap" items="${boardList}">
<p><c:out value="${boardMap.title}" /></p>
</c:forEach>
위 코드는 boardMap 의 get("title") 메소드를 호출한 결과를 출력합니다.
4. 일정 횟수의 루프를 돌면서 값을 출력하는 방법입니다.
<c:forEach var="i" begin="0" end="3">
<p><c:out value="${i}" /></p>
</c:forEach>
실행결과 :
0
1
2
3
위의 코드는 0부터 3까지 네 개의 값을 출력합니다.
5. 증가 단계를 지정합니다.
<c:forEach var="i" begin="0" end="3" step="2">
<p><c:out value="${i}" /></p>
</c:forEach>
실행결과 :
0
2
0부터 2씩 증가하면서 출력합니다. step는 음수를 사용할 수 없습니다.
6. 리스트를 역으로 출력하는 예 입니다.
<c:set var="size" value="${fn:length(nameList)}" />
<c:forEach var="i" begin="1" end="${size}">
<p><c:out value="${nameList[size - i]}" /></p>
</c:forEach>
7. 루프의 상태를 나타내는 varStatus 속성 사용법 입니다.
<c:forEach var="name" items="${nameList}" varStatus="status">
<p>${status.count} : ${status.index} : ${status.current}</p>
</c:forEach>
실행결과 :
1 : 0 : 홍길동
2 : 1 : 김철수
3 : 2 : 박영희
- status.index : 0부터 시작하는 루프의 인덱스 입니다.
- status.count : 현재 몇번째 루프인지 값입니다. 1부터 시작합니다.
- status.current : 현재 아이템입니다. var 속성의 값과 같습니다.
- status.first : 현재가 첫번째 루프이면 참입니다.
- status.last : 현재가 마지막 루프이면 참입니다.
- status.begin : begin 속성을 사용했을 경우 그 값이 나옵니다.
- status.end : end 속성을 사용했을 경우 그 값이 나옵니다.
- status.step : step 속성을 사용했을 경우 그 값이 나옵니다.
8. <c:forTokens> 사용법
문자열을 분리자를 사용해서 분리해서 출력할 수 있습니다.
<c:forTokens var="name" items="홍길동,김철수,박영희" delims=",">
<p><c:out value="${name}"/></p>
</c:forTokens>
실행결과:
홍길동
김철수
박영희
출처: https://offbyone.tistory.com/368 [쉬고 싶은 개발자]
'HTML, CSS' 카테고리의 다른 글
[JSP]JSTP - varStatus 사용법(처음, 마지막, 카운트 등) (0) | 2021.02.19 |
---|---|
[Jsp] jstl if문에서 and와 or문 사용하는 방법 (0) | 2021.02.19 |
[html,jQuery] 클릭 시 해당 엘리먼트로 스크롤 이동 (2) | 2021.02.14 |
[JSP] <form> 태그 method 속성 (0) | 2021.02.09 |
[html, css] ::selection 마우스 드래그 배경색 변경 (0) | 2021.01.20 |