JSP 페이지에서 switch 문 사용하는 방법
JSP(JavaServer Pages)에서는 스크립틀릿(<% %>) 안에 Java 코드를 직접 작성할 수 있으므로, switch 문과 같은 Java 제어문도 자유롭게 활용할 수 있습니다. 여러 조건을 분기 처리해야 할 때 if-else 문 대신 switch 문을 사용하면 코드가 훨씬 간결하고 가독성이 좋아집니다.
switch 문 기본 예제
다음은 JSP 페이지 내에서 switch 문을 사용하여 숫자 값에 따라 요일을 출력하는 전체 예제입니다. 변수 day는 선언문(<%! %>)으로 선언되며, 값이 3이므로 case 3에 해당하는 결과가 화면에 표시됩니다.
<%! int day = 3; %>
<html>
<head>
<title>SWITCH...CASE Example</title>
</head>
<body>
<%
switch(day) {
case 0:
out.println("It\'s Sunday.");
break;
case 1:
out.println("It\'s Monday.");
break;
case 2:
out.println("It\'s Tuesday.");
break;
case 3:
out.println("It\'s Wednesday.");
break;
case 4:
out.println("It\'s Thursday.");
break;
case 5:
out.println("It\'s Friday.");
break;
default:
out.println("It's Saturday.");
}
%>
</body>
</html>
코드 설명
- <%! int day = 3; %> — JSP 선언부(Declaration)를 사용해 정수형 변수
day를 3으로 초기화합니다. - switch(day) — 변수
day의 값을 평가하여 일치하는 case 블록으로 분기합니다. - case 0 ~ case 5 — 각 숫자에 해당하는 요일 메시지를
out.println()으로 출력한 후,break문으로 switch 블록을 빠져나갑니다. - default — 어떤 case와도 일치하지 않을 때 실행되며, 이 예제에서는 Saturday(토요일) 메시지를 출력합니다.
실행 결과
위 코드를 실행하면 day 값이 3이므로 다음과 같은 결과가 출력됩니다.
It's Wednesday.
작성 시 주의 사항
각 case 블록 끝에는 반드시 break 문을 작성해야 합니다. break 문이 누락되면 일치하는 case 이후의 모든 블록이 연달아 실행되는 fall-through 현상이 발생합니다. 또한 실무 환경에서는 비즈니스 로직을 서블릿이나 별도의 Java 클래스에서 처리하고, JSP는 화면 출력 역할만 담당하도록 구조를 분리하는 것이 유지보수 측면에서 바람직합니다.