JSP
JSP - JSTL 조건문 swich 사용하기
jaycheol
2025. 2. 11. 22:44
반응형
1. 코드 설명
(1) JSTL 설정
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
- <%@ taglib>: JSP에서 JSTL 라이브러리를 사용하려면 이 설정이 필요합니다. c는 JSTL의 코어 태그 라이브러리를 참조하는 접두어입니다.
- uri="http://java.sun.com/jsp/jstl/core": 이 URI는 JSTL의 코어 태그 라이브러리를 참조하는 것입니다. 이를 통해 c 접두어를 사용하여 JSTL 태그들을 사용할 수 있습니다.
(2) 변수 설정
<c:set var="cnt" value="80"/>
- <c:set>: cnt라는 변수를 80으로 설정하는 태그입니다. cnt는 조건문을 처리하는 데 사용될 값입니다.
(3) c:choose - 조건 분기
<c:choose>
<c:when test="${cnt % 2 == 0}">
짝수입니다.
</c:when>
<c:when test="${cnt$2 != 0}">
홀수입니다.
</c:when>
<c:otherwise>
일치하는 when 절이 없는 경우에 실행한다.
</c:otherwise>
</c:choose>
- <c:choose>: 여러 조건을 처리할 수 있는 조건문입니다. 이 태그 내에서 <c:when> 및 <c:otherwise> 태그를 사용하여 조건에 따라 다른 동작을 실행합니다.
- <c:when>: 조건이 참일 때 실행할 내용을 작성하는 태그입니다.
- <c:otherwise>: 위의 조건이 모두 참이 아닐 경우 실행될 내용을 작성하는 태그입니다.
(4) 조건 1 - 짝수 판단
<c:when test="${cnt % 2 == 0}">
짝수입니다.
</c:when>
- ${cnt % 2 == 0}: cnt가 2로 나누어 떨어지는지 확인합니다. 나누어 떨어지면 짝수입니다.
(5) 조건 2 - 홀수 판단 (문법 오류)
<c:when test="${cnt$2 != 0}">
홀수입니다.
</c:when>
- 오류: cnt$2 != 0는 잘못된 구문입니다. cnt % 2 != 0으로 수정해야 합니다. 이는 cnt가 2로 나누어 떨어지지 않으면 홀수임을 확인하는 조건입니다.
(6) 조건이 일치하지 않으면 실행될 내용
<c:otherwise>
일치하는 when 절이 없는 경우에 실행한다.
</c:otherwise>
- <c:otherwise>: 만약 cnt % 2 == 0 또는 cnt % 2 != 0 조건이 모두 참이 아니라면 이 부분이 실행됩니다. 하지만 이 예제에서는 모든 숫자가 짝수나 홀수이기 때문에 사실상 이 부분은 실행되지 않습니다.
2. 수정된 전체 코드
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="cnt" value="80"/>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<c:choose>
<c:when test="${cnt % 2 == 0}">
짝수입니다.
</c:when>
<c:when test="${cnt % 2 != 0}">
홀수입니다.
</c:when>
<c:otherwise>
일치하는 when 절이 없는 경우에 실행된다.
</c:otherwise>
</c:choose>
</body>
</html>
3. 코드 설명 (수정된 부분 포함)
- <c:choose>: if-else 구조와 유사한 역할을 하는 태그입니다. 여러 조건 중 첫 번째로 참인 조건에 해당하는 블록이 실행됩니다.
- <c:when>: 각 조건을 검사하는 부분으로, 조건이 참이면 그에 해당하는 내용을 실행합니다.
- 첫 번째 <c:when test="${cnt % 2 == 0}">: cnt 값이 짝수일 경우 실행됩니다.
- 두 번째 <c:when test="${cnt % 2 != 0}">: cnt 값이 홀수일 경우 실행됩니다.
- <c:otherwise>: 만약 모든 <c:when> 조건이 거짓이면 실행됩니다. 이 예제에서는 cnt 값이 짝수나 홀수여야 하므로 실제로 실행되지 않지만, 조건에 맞지 않는 경우 처리하려면 이 태그를 사용할 수 있습니다.
4. JSTL choose, when, otherwise 태그 사용법
- <c:choose>: 여러 조건문을 처리하는 데 유용합니다. if-else if-else 구문을 대체할 수 있습니다.
- <c:when>: 조건이 참일 때 실행될 부분을 정의합니다. 여러 개의 <c:when>을 사용할 수 있습니다.
- <c:otherwise>: when 조건들이 모두 거짓일 경우 실행됩니다. 필수는 아니며, 조건이 없을 때 실행할 기본 내용을 정의할 때 사용됩니다.
반응형