-
JSP 태그 JSTL 사용방법개발/프로그래밍 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
'개발 > 프로그래밍' 카테고리의 다른 글
Spring Boot 기초 맛보기 (0) 2023.08.14 제이쿼리(jQuery) 기초 맛보기 (0) 2023.08.13 JSP에서 AJAX를 활용한 비동기 처리 (0) 2023.08.11 JSP를 활용한 웹 애플리케이션 성능 최적화 방법 (0) 2023.08.01 서버사이드 렌더링 기술 비교 및 호환성 (0) 2023.07.30