우와한 개발자

[JSP] JSTL(JSP Standard Tag Library)이란? 설정 방식과 주요 태그

by 우와한개발자

1. JSTL(JSP Standard Tag Library)이란?

  • JavaEE 기반 웹 애플리케이션 개발을 위한 컴포넌트 모음
  • JSP 스크립트와 HTML 코드가 섞여 복잡해지는 구조를 간결하게 작성하기 위해 Java 코드를 태그 형태로 표준화한 것

 

2. JSTL 기능

기능 설명
제어문 변수 선언, if문, for문 등
포맷 데이터 출력 포맷 설정
DB DB 입력, 수정, 삭제, 조회
함수 문자열 처리 함수
XML XML 문서 처리

 

3. JSTL 설정

  • pom.xml에 의존성을 추가하거나 jar 파일을 직접 추가
<!-- pom.xml -->
<dependency>
    <groupId>jakarta.servlet.jsp.jstl</groupId>
    <artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
    <version>3.0.0</version>
</dependency>
  • JSP 파일 상단에 taglib 선언을 추가해야 사용가능
<%@ taglib prefix="c" uri="jakarta.tags.core" %>

4. JSTL 주요 태그 (c 태그)

1) c:set - 변수 선언

  • 기본적으로 pageContext에 저장
<c:set var="a" value="hi"/>
<!-- ${a} → hi 출력 -->

 

2) c:if - 조건문

<c:if test="${5 > 2}">
    참일 때 출력
</c:if>

 

3) c:choose - 다중 조건문 (if-else)

<c:choose>
    <c:when test="${조건}">조건이 참일 때</c:when>   <!-- if / else if -->
    <c:otherwise>모든 조건이 거짓일 때</c:otherwise> <!-- else -->
</c:choose>

 

4) c:forEach - 반복문

<!-- 강화된 for문 -->
<c:forEach var="i" items="${arr}"></c:forEach>

<!-- 일반 for문 -->
<c:forEach var="i" begin="1" end="4"></c:forEach>

<!-- varStatus로 인덱스 사용 -->
<c:forEach var="book" items="${books}" varStatus="status">
    <tr>
        <td>${status.index + 1}</td>
        <td>${book.isbn}</td>
        <td>${book.title}</td>
        <td>${book.author}</td>
        <td>${book.price}</td>
    </tr>
</c:forEach>

 

5) c:out - 데이터 출력

  • ${}와 달리 HTML 태그를 문자열 그대로 출력
<c:set var="message" value="<h2>안녕하세요</h2>"/>

${message}                        <!-- 안녕하세요 (h2 태그 해석됨) -->
<c:out value="${message}"/>       <!-- <h2>안녕하세요</h2> (태그 그대로 출력) -->

블로그의 정보

우와한개발자 님의 블로그

우와한개발자

활동하기