스크립트릿
2026년 5월 17일
- 스크립틀릿은 JSP 태그에서는 표현할 수 없는 작업을 Java 코드를 작성하고 자유로운 작업을 수행하는 경우에 사용한다.
Java 코드를 위한 각 코드에는 반드시; (세미콜론)가 필요하다.
- 이 문법은 JSP 페이지에서 Java 코드를 삽입하는 데 사용된다.
- 스크립트릿 태그 내에 작성된 코드는 서블릿Servlet 코드로 변환되어 실행된다.
- 주로 변수 선언, 메서드 호출, 반복문, 조건문 등의 Java 코드를 작성하는 데 사용된다.
문법
<% 스크립틀릿; %>
- 스크립틀릿에서 선언 된 변수는 요청 때마다 호출된다.
- 따라서 그 요청이 있을 때 마다 변수의 값이 초기화된다.
스프링에서는 JSP보다는 Thymeleaf나 FreeMarker와 같은 템플릿 엔진을 더 선호한다. 이러한 템플릿 엔진은 더 간결하고 유연한 템플릿 문법을 제공하며, 스크립트릿 태그보다 높은 수준의 추상화를 제공하여 뷰 레이어를 보다 효과적으로 관리할 수 있다.
${}를 사용하지 않고 <%= %>을 사용하는 이유는 JSTL(Core Tag Library)의 <c:url> 태그를 사용하여 URL을 생성하기 때문입니다. <c:url> 태그는 기본적으로 EL(Expression Language)을 사용하여 값을 출력하고, 이 때 ${} 문법이 활용됩니다.
여러 가지 JSP 표현식의 형태 중에서 <%= %>은 스크립트릿 태그로, Java 코드를 실행하는 역할을 합니다. 반면에 ${}는 EL을 나타내며, 주로 JSTL과 함께 사용되어 동적으로 값을 출력하거나 속성에 접근하는 데 사용됩니다.