JSP
11.30.(수) JSP(9): JSTL(3)
콜라든포비
2022. 12. 5. 18:38
JSP Standard Tag Library
forEach태그
forEach태그는 반복문의 형태를 가지고 있다.
<c:forEach var="변수" begin="시작 숫자" end="끝 숫자" step="증가 폭"></c:forEach>
Java에서 배운 for문과 매우 유사한 모습이다.
<%@page import="java.util.HashMap"%>
<%@page import="java.util.List"%>
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jstl03_forEachTag.jsp</title>
</head>
<body>
<h1>forEach문 : 반복문</h1>
<c:set var="times" value="8"/>
<!-- 1~9까지 1씩 증가 -->
<!-- step은 1이 default -->
<c:forEach var="i" begin="1" end="9" step="1">
${ times } * ${ i } = ${ times*i }<br>
</c:forEach>
<h2>JSP의 배열객체를 반복처리하기</h2>
<%
int data[] = {34,25,63,72,53,23,6,30};
%>
<c:forEach var="d" items="<%= data %>">
[${ d }],
</c:forEach>
<h2>컬렉션(List)을 이용한 반복문 사용</h2>
<%
List<String> list = new ArrayList<String>();
list.add("Sangmin");
list.add("Poby");
list.add("Alex");
list.add("Rowen");
%>
<ol>
<c:forEach var="name" items="<%= list %>">
<li>Name : ${ name }</li>
</c:forEach>
</ol>
<h2>컬렉션(Map)을 이용한 반복문 사용</h2>
<%
HashMap<String, String> map = new HashMap<String, String>();
map.put("name", "Daniel");
map.put("tel", "010-1234-5678");
map.put("addr", "Gangnam-gu, Seoul");
map.put("email", "dan@naver.com");
%>
<ul>
<c:forEach var="n" items="<%= map %>">
<li>${ n.key } : ${ n.value }</li>
</c:forEach>
</ul>
</body>
</html>
JSP의 배열객체를 반복처리할때는 향상된 for문
for(자료형 변수명 : 배열명){}
과 비슷한 형태를 띈다. JSTL에선,
<c:forEach var="변수명" items="배열명"></c:forEach>
이렇게 반복처리해줄 수 있다. 배열뿐만 아니라 컬렉션에서도 적용시킬 수 있다.