반응형
안녕하세요.
jsp에서 반복문이 필요할 때 JSTL을 이용할 수 있습니다.
이번 포스팅에서는 이 JSTL의 반복문이라고 볼 수 있는 c:forEach 사용방법을 알아보겠습니다.
1. JSTL Core 선언
JSTL을 사용하기 위해선, 해당 JSP 페이지 상단에 아래 선언을 해야합니다.
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
2. <c:forEach> </c:forEach> 기본 구조 확인하기
아래 소스코드는 c:forEach 기본 구조입니다.
<c:forEach var="item" items="${list}" begin=0 end=10 varStatus="vs">
...
</c:forEach>
/** c:forEach 속성 설명 **/
// var : 사용할 변수 명 <필수>
// items : Collection 객체(List, Map) <필수>
// begin : 반복 시작 index(기본 값 0)
// end : 반복 종료
// step : 반복 시, 증가 폭
// varStatus : 반복문 돌고 있을 때, 해당 상태를 보여주는 변수
/** varStatus 변수의 속성 설명 **/
// index : items에 정의한 항목을 가르키는 index. (기본값 0)
// count : 현재 몇 번째 반복인지 반환 (1부터 시작)
// first : 현재 반복이 첫 번째 반복인지 (boolean형식의 true or false 반환)
// last : 현재 반복이 마지막 반복인지 (boolean형식의 true or false 반환)
3. <c:forEach> </c:forEach> 구조를 이용한 SELECTBOX 옵션 채우기
3-1. sampleDto.java
package Sample.dto;
public class SampleDto {
private String[] sampleList = {"option1", "option2", "option3"};
public String[] getProductList() {
return sampleList;
}
}
3-2. c:forEach를 이용해 SELECTBOX 옵션 채우기
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page import="Sample.dto.SampleDto"%> <!-- 3.1의 Dto를 이 JSP에서 사용할 수 있도록 import -->
<%
SampleDto sampleDto = new SampleDto();
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>c:foreach_selectBox_sample</title>
</head>
<body>
<select name="select1">
<c:forEach var="item" items="<%= sampleDto.getSampleList() %> " >
<option>${item}</option>
</c:forEach>
</select>
</body>
</html>
3-3 결과
반응형
'FE > JSP & JSTL' 카테고리의 다른 글
[JSP] JSP를 위한 클래스를 컴파일할 수 없습니다. 오류해결 (0) | 2023.10.21 |
---|---|
[JSTL] <c:if> <c:choose> <c:when> <c:otherwise> 사용 방법 (0) | 2021.03.15 |