개발/프로그래밍

JSP 태그 JSTL 사용방법

suj-space 2023. 8. 10. 23:12

 

 

오늘은 JSP에 대해 내용을 준비해 보았습니다. JSP 표준 태그 라이브러리 JSTL은 JSP 페이지의 코딩을 더 간결하고 이해하기 쉽게 만들어 주는 커스텀 태그 모음입니다. 오늘 포스팅에서는 JSTL의 주요 기능을 간략하게 살펴보고, 직접 적용해 볼 수 있는 예제까지 같이 살펴보겠습니다!

 

 

 

썸네일

 

목차

     

     

     

    JSTL 개념

    JSTL은 웹 애플리케이션 개발자가 JSP 페이지에서 자주 사용하는 일반적인 기능을 처리하기 위한 여러 태그들을 제공합니다. JSTL은 코어 태그, 조건 태그, 반복 태그, 국제화(i18n) 및 형식 태그, SQL 태그, XML 태그로 분류할 수 있습니다.

     

     

    JSTL 설치 및 설정

    JSTL을 사용하려면 먼저 관련 라이브러리를 다운로드하고, 아래와 같이 태그를 사용하기 위한 설정을 해야 합니다. 필요한 라이브러리는 다음과 같습니다.

    • jstl.jar
    • standard.jar

    다운로드한 라이브러리 파일을 프로젝트의 WEB-INF/lib 경로에 복사한 후, JSP 페이지 상단에 다음과 같이 taglib을 추가합니다.

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

     

     

    JSTL 주요 태그

    이제 JSTL의 주요 태그들을 살펴보겠습니다.

     

    3.1 코어 태그

    코어 태그는 변수 조작, 흐름 제어 등 기본적인 작업을 수행하는 데 사용됩니다.

    c:set 변수를 설정하거나 수정합니다.

    <!-- c:set: 변수를 설정하거나 수정합니다. -->
    <c:set var="name" value="John"/> 
    
    <!-- c:remove: 변수를 제거합니다. -->
    <c:remove var="name"/> 
    
    <!-- c:if: 조건이 참일 경우 해당 블록을 실행합니다. -->
    <c:if test="${age >= 20}">
        성인입니다.
    </c:if>
    
    <!-- c:choose, c:when, c:otherwise: 다중 조건 판단을 수행합니다. -->
    <c:choose>
        <c:when test="${age < 13}">
            어린이입니다.
        </c:when>
        <c:when test="${age >= 13 && age < 20}">
            청소년입니다.
        </c:when>
        <c:otherwise>
            성인입니다.
        </c:otherwise>
    </c:choose>

     

    3.2 반복 태그

    반복 태그는 리스트나 배열, 코렉션을 순회하면서 작업을 수행합니다.

    <!-- c:forEach: 주어진 범위 내에서 반복 작업을 수행합니다. -->
    <c:forEach items="${names}" var="name">
        이름: ${name}
    </c:forEach>

     

    3.3 형식 및 국제화 태그

    형식 및 국제화 태그는 숫자, 날짜, 시간 및 통화와 같은 값의 형식을 지정하고 제어하는 데 사용됩니다.

    <!-- fmt:formatNumber:숫자를 지정된 형식으로 출력합니다. -->
    <fmt:formatNumber value="${1000}" pattern="#,###" />
    
    <!-- fmt:formatDate: 날짜를 지정된 형식으로 출력합니다. -->
    <fmt:formatDate value="${dateObj}" pattern="yyyy-MM-dd" />
    
    <!-- fmt:setLocale: 로케일을 변경합니다. -->
    <fmt:setLocale value="ko_KR" />
    
    <!-- fmt:message: 리소스 번들을 사용하여 다국어 메시지를 출력합니다. ex) welcome=환영합니다! -->
    <fmt:message key="welcome" />

     

    3.4 SQL 태그

    SQL 태그는 JSP 페이지에서 데이터베이스와 관련된 작업을 수행할 수 있게 해 줍니다. 물론, JSP 페이지에서 데이터베이스 작업을 수행하는 것은 좋은 설계 방식이 아닙니다. 이러한 작업은 Servlet이나 DAO 클래스와 같은 백엔드 코드에서 처리하는 것이 좋습니다. 하지만 간단한 예제를 만들거나 테스트를 진행할 때 유용하게 사용할 수 있습니다.

    <!-- sql:setDataSource: 데이터 소스를 설정합니다. -->
    <sql:setDataSource var="myDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/testDB" user="root" password="password" />
    
    <!-- sql:query: SQL 쿼리를 실행하여 결과를 가져옵니다. -->
    <sql:query var="result" dataSource="${myDataSource}">
        SELECT * FROM user;
    </sql:query>

     

    3.5 XML 태그

    XML 태그는 JSP 페이지에서 XML 문서를 처리하는 데 사용됩니다.

    <!-- x:parse: XML 문서를 파싱하여 처리 가능한 형식으로 변환합니다. -->
    <x:parse var="parsedDoc" doc="${xmlData}" />
    
    <!-- x:out: XML 노드의 내용을 출력합니다. -->
    <x:out select="$parsedDoc/user/name" />
    
    <!-- x:forEach: XML 노드를 순회하면서 작업을 수행합니다. -->
    <x:forEach select="$parsedDoc/users/user" var="user">
        id: <x:out select="$user/@id"/><br/>
        name: <x:out select="$user/name"/><br/>
    </x:forEach>

     

     

    마무리

    오늘은 JSTL 예제코드들을 위주로 여러가지 기능들을 알아보았습니다! 이런 기능들을 잘 사용하면 좋은 게 개발자들에게 자주 사용하는 기능을 편리하게 제공하여 JSP 페이지의 가독성을 높이고 코드의 재사용성을 증가시킵니다. 이 포스팅에서 소개한 JSTL 사용법을 참고하고 적절한 상황에 적용해 보세요!

     

     

    함께 보면 좋은 글

     

    JSP를 활용한 웹 애플리케이션 성능 최적화 방법

    이번 포스팅에서는 웹 애플리케이션 성능 최적화 방법을 알아보려고 합니다. 내용은 간단하게 JSP를 활용해서 알아보도록 하겠습니다. 최적화는 사용자 경험(UX)을 향상하고 빠른 응답 시간을 제

    sujspace.tistory.com