728x90
반응형
<%@page import="java.util.Date"%>
<%@page import="java.util.HashMap"%>
<%@page import="java.util.Map"%>
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%-- /src/main/webapp/jstl/jstlcoreex3.jsp --%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSTL core 태그 : 반복관련 태그</title>
</head>
<body>
<h3>반복관련 태그 : forEach</h3>
<c:forEach var="test" begin="1" end="10">
${test}
</c:forEach>
<h3>forEach 태그를 이용하여 1부터 100까지의 합구하기</h3>
<c:forEach var="i" begin="1" end="100">
<c:set var="sum" value="${sum + i }" />
</c:forEach>
1. 1부터 100까지의 합 : ${sum }<br>
2. 1부터 100까지의 합 : <c:out value="${sum } "/><br>
<h3>forEach 태그를 이용하여 1부터 100까지의 짝수합구하기</h3>
<c:set var="sum" value="${0}" />
<c:forEach var="i" begin="1" end="100">
<c:if test="${i%2==0}">
<c:set var="sum" value="${sum + i }" />
</c:if>
</c:forEach>
1. 1부터 100까지의 짝수 합 : ${sum }<br>
<c:set var="sum" value="${0}" />
<c:forEach var="i" begin="2" end="100" step="2">
<c:set var="sum" value="${sum + i }" />
</c:forEach>
2. 1부터 100까지의 짝수 합 : ${sum }<br>
<h3>forEach 태그를 이용하여 1부터 100까지의 홀수합구하기</h3>
<c:set var="sum" value="${0}" />
<c:forEach var="i" begin="1" end="100">
<c:if test="${i%2==1}">
<c:set var="sum" value="${sum + i }" />
</c:if>
</c:forEach>
1. 1부터 100까지의 홀수 합 : ${sum }<br>
<c:set var="sum" value="${0}" />
<c:forEach var="i" begin="1" end="100" step="2">
<c:set var="sum" value="${sum + i }" />
</c:forEach>
2. 1부터 100까지의 홀수 합 : ${sum }<br>
<br>
<h3>forEach태그를 이용하여 List 객체 출력하기</h3>
<%
List<Integer> list = new ArrayList<>();
for(int i=1; i<=10; i++) list.add(i*10);
pageContext.setAttribute("list",list);
%>
<c:forEach var="i" items="${list}">
${i}
</c:forEach><br>
<%--
varStatus="변수명" => 반복중인 요소의 상태 정보 저장
stat.index : 0부터 시작
stat.count : 1부터 시작
--%>
<h3>forEach태그를 이용하여 List 객체 인덱스: 값 형태로 출력하기</h3>
<c:forEach var="i" items="${list}" varStatus="stat">
${stat.index}:${i} <%--stat.index +1 로 변경가능 --%>
</c:forEach><br>
<h3>forEach태그를 이용하여 List 객체 순서: 값 형태로 출력하기</h3>
<c:forEach var="i" items="${list}" varStatus="stat">
${stat.count}:${i}
</c:forEach><br>
<h3>문제 : 1부터 10까지를 3개씩 출력하기</h3>
<c:forEach var="i" items="${list}" varStatus="stat">
<c:if test="${stat.index%3==0}"><br></c:if>
${stat.count}:${i}
</c:forEach><br>
<h3>forEach 태그를 이용하여 Map객체 출력하기</h3>
<%
Map<String,Object> map = new HashMap<>();
map.put("name","홍길동");
map.put("today",new Date());
map.put("age",20);
map.put("list",list);
pageContext.setAttribute("map", map);
%>
<c:forEach var="m" items="${map}" varStatus="stat">
${stat.count}:${m.key}=${m.value}<br>
</c:forEach>
<h3>Map객체를 EL로 출력하기</h3>
name = ${map.name }<br>
today = ${map.today }<br>
age = ${map.age }<br>
list = ${map.list }<br>
<h3>forEach 태그를 이용하여 배열객체 출력하기</h3>
<c:set var="arr" value="<%=new int[]{10,20,30,40,50} %>" />
<c:forEach var="a" items="${arr }" varStatus="stat">
arr[${stat.index }]=${a }<br>
</c:forEach>
<h3>EL을 이용하여 배열과 리스트의 요소 한개 출력하기</h3>
list[0] : ${list[0]}<br>
arr[0] : ${arr[0]}<br>
<h3>forEach 태그를 이용하여 배열 객체의 두번째 요소부터 세번째 요소만 출력하기</h3>
<c:forEach var="a" items="${arr }" varStatus="stat" begin="1" end="2">
arr[${stat.index }]=${a }<br>
</c:forEach>
<h3>forEach 태그를 이용하여 배열 객체의 짝수 인덱스 요소만 출력하기</h3>
<c:forEach var="a" items="${arr }" varStatus="stat" step="2">
arr[${stat.index }]=${a }<br>
</c:forEach>
<h3>forEach 태그를 이용하여 배열 객체의 홀수 인덱스 요소만 출력하기</h3>
<c:forEach var="a" items="${arr }" varStatus="stat" step="2" begin="1">
arr[${stat.index }]=${a }<br>
</c:forEach>
</body>
</html>
728x90
반응형
'study > Jsp' 카테고리의 다른 글
[Jsp] 17. EL 표현언어 (Format 된 숫자를 일반 숫자로 변경[pattern]) (0) | 2022.04.13 |
---|---|
[Jsp] 17. EL 표현언어 (JSTL 형식화 태그 : 숫자, 날짜를 형식화된 문자열로 출력[formatNumber, formatDate]) (0) | 2022.04.13 |
[Jsp] 17. EL 표현언어 (JSTL core 태그 : 조건문 예제 [if, choose]) (0) | 2022.04.13 |
[Jsp] 17. EL 표현언어 (JSTL core 태그 [set, remove, out]) (0) | 2022.04.13 |
[Jsp] 17. EL 표현언어 (속성값, 파라미터값, 변수값, 연산자) (0) | 2022.04.12 |