일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- linux
- jquery
- 코드이그나이터
- Stock ipo
- Eclipse
- IPO
- css
- 공모주 청약
- 주식
- php
- html
- 제이쿼리
- 자바
- JavaScript
- 맥
- 주식 청약 일정
- codeigniter
- 주식 청약
- Oracle
- SQL
- 공모주
- Stock
- java
- 오라클
- 리눅스
- 7월 공모주 청약 일정
- 6월 공모주 청약 일정
- 공모주 청약 일정
- 자바스크립트
- MYSQL
- Today
- Total
개발자의 끄적끄적
[jstl] c:forEach 사용법 본문
[jstl] c:forEach 사용법
<c:forEach> 커스텀액션
자바프로그램의 for 문에 해당하는 기능을 제공하는 커스텀액션이다. 즉 이 액션을 이용하면 특정 HTML코드를 일정 횟수만큼 반복해서 출력할 수 있다.
for문은 자바에서 아주 자주 사용되는 문법이며 가장 흔히 볼수 있는 것은 다음형태의 for문이다.
for (int cnt =0; cnt <10; cnt++) { // cnt초기값을 0으로 하고 10번 반복하며 1식증가시켜라 } |
위 for문은 카운터 변수인 cnt 값을 0~9까지 1씩 증가시키면서 주어진 명령문을 반복 실행 하는 문장이다. 결과적 으로 명령문은 10번 반복된다.
<c:forEach> 커스텀액션을 이용해서 반복실행되는 코드를 작성하기 위해서는 이 액션에 begin과 end라는 이름의 애트리 뷰트를 쓰고 거기에 각각 카운터 변수의 시작 값과 끝값을 지정하면 된다.
<c:forEach begin="1" end="10"> hi<br> <%!-- 반복수행할 명령문--%> </c:forEach> |
반복 출력할 코드안에서 카운터 변수 값을 사용해야 할 경우엔 <c:forEach>액션태그안에 var라는 애트리뷰트를 쓰고 그값으로 카운터 변수의 이름을 지정하면 된다. 그러면 <c:forEach>액션의 시작 태그와 끝 태그 사이에서 EL식을 이용해서 이변수를 사용할수 있다.
<c:forEach var="cnt" begin="1" end="10"> ${cnt} <br> </c:forEach> |
위 코드는 1부터 10까지 순서대로 출력한다.
카운터 변수의 값은 기본적으로 1씩증가하지만 때로 그와 다른 증가치를 사용해야 할 경우도 있다. 그럴때는 <c:forEach>액션에 step이라는 애트리뷰트를 추가하고 거기에 증가치를 지정하면된다.
<c:forEach var="cnt" begin="1" end="10" step="2"> ${cnt}<br> </c:forEach> |
위 코드가 실행하면 1,3,5,7,9의 숫자가 출력된다.
<c:forEach>커스텀액션을 사용한 Jsp 예
Echo.jsp
<%@page contentType="text/html; charset=utf-8" %> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <HTML> <HEAD><TITLE>메아리</TITLE></HEAD> <BODY> <c:forEach var = "cnt" begin="1" end=" 5" > <font size=${cnt} > 야 호 </font><br> </c:forEach> </BODY> </HTML> |
실행화면
야 호 야 호 야 호 야 호 야 호 |
위와 같은 결과가 출력된다.
<c:forEach>커스텀 액션을 이용하면 여러 개의 항목으로 구성된 데이터를 순서대로 출력하는 일도 가능하다 예를 들면 배열의 항목을 출력할 수도 있는데 그렇게 하기 위해서는 이 액션태그에 items 애트리뷰트를 쓰고 그곳에 배열 이름을 지정하면 된다. 그리고 이때 var라는 이름의 애트리뷰트도 함께 쓰는데 이 애트리뷰트의 값은 배열의 항목을 담는 변수 이름으로 사용한다.
<c:forEach var="str" items="${arr}"> ${str}<br> </c:forEach> |
str = 배열의 각 항목을 저장할 변수
arr = 배열의 이름
<c:forEach>커스텀액션 사용 Jsp
<%@page contentType="text/html; charset=utf-8" %> <% String arr[] ={"불고기","닭고기","소고기"}; request.setAttribute("MENU","arr); //request영역에 배열을 저장한다. %> <jsp:forward page="LunchMenuView.jsp" /> |
↓호출
<%@page contentType="text/html; charset=utf-8" %> <%@taglib prefix="c" uri="http:/java.sun.com/jsp/jstl/core> <HTML> <HEAD><TITLE>구내식당</TITLE></HEAD> <BODY> <H3>오늘의 점심메뉴</H3> <UL> <c:forEach var="dish" items="${MENU}"> <LI><${dish}</LI> //배열항목을 순더대로 가져다가 출력한다. </c:forEach> </UL> </BODY> </HTML> |
실행결과
http:localhost:8080/test/LuncthMenu.jsp
오늘의 점심 메뉴입니다
|
출처 : https://m.blog.naver.com/PostView.nhn?blogId=kalmia888&logNo=177171972
'개발 > java & jsp' 카테고리의 다른 글
[java] JSTL 반복문(forEach) 사용법 정리 [펌] (0) | 2020.04.13 |
---|---|
[iBatis] insert된 자동생성값 알아오기 - MySQL버전 (0) | 2020.04.11 |
[JSP] JSTL로 특정 option selected 주기 (0) | 2020.04.10 |
[java] Map 반복(Iteration)시키는 3가지 방법 [펌] (0) | 2020.04.10 |
[Spring, Log] 로그가 안보일때, 쿼리가 안나타날때 로그 출력하는 방법[펌] (0) | 2020.04.09 |