JSTL이란?
JSTL(JSP Standard Tag Library)은 JSP(JavaServer Pages)에서 자주 사용되는 로직을 간결하게 작성할 수 있도록 지원하는 라이브러리입니다.
JSP는 HTML 코드와 Java 코드를 혼합하여 작성하는 서버 측 스크립트 언어입니다. JSP 페이지에서 자주 사용되는 Java 코드는 주로 스크립트릿(Scriptlet) 태그("<% %>")를 사용하여 작성합니다. 하지만 스크립트릿 태그를 남발하면 코드의 가독성이 떨어지고 유지보수가 어려워집니다.
이러한 문제를 해결하기 위해 JSTL이 개발되었습니다. JSTL은 JSP 페이지에서 자주 사용되는 로직을 간결하게 작성할 수 있는 다양한 태그와 함수를 제공합니다.
JSTL을 사용하면 자주 사용되는 로직을 간결하게 작성할 수 있으며, 이로 인해 코드의 가독성이 향상되고 유지보수가 용이해집니다. 또한 JSTL은 JSP 페이지에서 Java 코드를 작성하지 않고도 웹 애플리케이션을 개발할 수 있도록 돕는 기능을 제공합니다.
JSTL 라이브러리 종류
JSTL(JSP Standard Tag Library)은 JSP(JavaServer Pages)에서 자주 사용되는 로직을 간결하게 작성할 수 있도록 지원하는 라이브러리로, 다양한 종류의 태그를 제공합니다. JSTL의 종류는 다음과 같습니다.
1. 코어 태그(Core Tags)
조건문, 반복문, 변수 설정 등의 기본 기능을 제공하는 태그입니다. 대표적으로 "c:if", "c:forEach", "c:set" 등이 있습니다.
1) c:if: 조건문을 처리하는 태그로, 주어진 조건식이 참(true)일 경우에만 내부의 코드를 실행합니다.
<c:if test="${score >= 60}">
<p>합격하셨습니다.</p>
</c:if>
2) c:forEach : 반복문을 처리하는 태그로, 주어진 컬렉션의 각 요소를 반복하여 내부의 코드를 실행합니다.
<c:forEach var="num" begin="1" end="5">
<p>${num}</p>
</c:forEach>
3) c:set: c:set: 변수를 설정하는 태그로, 지정한 값을 변수에 할당합니다.
<c:set var="name" value="John" />
2. 포맷 태그(Formatting Tags)
날짜, 시간, 숫자 등의 형식을 지정하는 태그입니다. 대표적으로 "fmt:formatDate", "fmt:formatNumber" 등이 있습니다.
XML 태그(XML Tags): XML 문서를 처리하는 태그입니다. 대표적으로 "x:parse", "x:forEach" 등이 있습니다.
1) fmt:formatDate: 날짜를 지정된 형식으로 포맷팅하는 태그입니다.
<fmt:formatDate value="${now}" pattern="yyyy-MM-dd" />
2) fmt:formatNumber: 숫자를 지정된 형식으로 포맷팅하는 태그입니다.
<fmt:formatNumber value="${price}" type="currency" currencyCode="USD" />
함수 태그(Functions Tags): 문자열 처리, 수학 연산, 컬렉션 처리 등의 기능을 제공하는 함수를 호출하는 태그입니다. 대표적으로 "fn:length", "fn:substring" 등이 있습니다.
3. XML 태그(XML Tags):
1) x:parse: XML 문서를 파싱하여 자바 객체로 변환하는 태그입니다.
<x:parse var="book" xml="${bookXml}" />
2) x:forEach: XML 문서의 요소를 반복하여 내부의 코드를 실행하는 태그입니다.
<x:forEach select="$books/book" var="book">
<p>${book.title}</p>
</x:forEach>
4. 함수 태그(Functions Tags)
1) fn:length : 문자열의 길이를 구하는 함수를 호출하는 태그입니다.
<%-- message가 null인 경우에는 0을 반환 --%>
<c:set var="length" value="${fn:length(message) ?? 0}" />
2) fn:substring: 문자열의 일부분을 추출하는 함수를 호출하는 태그입니다
<%-- message의 1번째부터 10번째까지의 문자열을 추출 --%>
<c:set var="substr" value="${fn:substring(message, 1, 10)}" />
5. SQL 태그(SQL Tags): 데이터베이스 연동을 지원하는 태그입니다. 대표적으로 "sql:setDataSource", "sql:update" 등이 있습니다.
1) sql:setDataSource: 데이터베이스 연결 정보를 설정하는 태그입니다.
<sql:setDataSource var="dataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/mydb" user="root" password="1234" />
2) sql:update: 데이터베이스를 업데이트하는 쿼리를 실행하는 태그입니다.
<sql:update dataSource="${dataSource}">
INSERT INTO products (name, price) VALUES ('iPhone', 1000);
</sql:update>
이러한 JSTL 태그들은 각각의 기능에 맞게 사용되며, JSP 페이지에서 자주 사용되는 로직을 간결하게 작성할 수 있도록 도와줍니다.
'front-end' 카테고리의 다른 글
[bootstrap] 부트스트랩 사용법 (0) | 2023.02.22 |
---|---|
[JDBC] JDBC란? (0) | 2023.02.09 |
[Ajax] Ajax 비동기방식 개념 (0) | 2023.02.08 |
[JSP] JSP의 개념 (0) | 2023.02.08 |
[servlet] servlet 개념 알기, GET/POST, Session (0) | 2023.02.06 |
댓글