목차
JSTL 뜻
el태그란 Expression Language로, JSP문법 코드를 좀 더 간결하게 사용할 수 있도록 지원해준다.
종류
JSTL에서는 용도에 따라 다섯가지 라이브러리를 제공한다.
1. Core
기본적인 변수선언, 조건,제어,반복문 기능 제공
사용 방법
JSP상단에 추가
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
태그 종류
이름 | 설명 |
<c:set/> | 변수 선언 |
<c:remove/> | 변수 제거 |
<c:out/> | 변수 출력 |
<c:catch/> | 예외 처리 |
<c:if/> | 조건문 |
<c:forEach/> | 반복문 |
<c:param/> | 파라미터 추가 |
<c:redirect/> | URL 로 이동 |
<c:choose/> | 조건문 |
<c:when/> | 조건문 |
태그 사용법
1. <c:if/>
<c:if test="조건식">실행문</c:if>
2. <c:choose/>
<c:choose>
<c:when test="조건식">실행문</c:when>
<c:when test="조건식">실행문</c:when>
<c:otherwise>위 조건에 모두 해당하지 않을 경우</c:otherwise>
</c:choose>
2. Formatting
날짜,숫자,시간 등을 형식화하는 기능
사용 방법
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
태그 종류
이름 | 설명 |
<fmt:setLocale/> | Locale 지정 |
<fmt:formatNumber/> | 숫자 형식 지정 |
<fmt:formatDate/> | Date 형식 지정 |
<fmt:timeZone/> | 시간대 지정 |
3. XML
XML 처리를 위한 출력,변환 등의 기능을 제공
사용 방법
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
태그 종류
이름 | 설명 |
<x:set/> | xml 경로를 변수로 저장 |
<x:out/> | xml 내용 출력 |
<x:parse/> | xml 문서를 읽어서 파싱 |
<x:choose/>,<x:forEach/>,<x:if/> | <c:choose>,<c:forEach>,<c:if>와 같은 기능 |
4. SQL
사용 방법
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
태그 종류
이름 | 설명 |
<sql:setDataSource/> | DB 연결 |
<sql:query/> | 쿼리 문장 실행 |
<sql:param/> | sql 태그에 파라미터 삽입 |
<sql:transaction/> | 트랜잭션 설정 |
태그 사용법
1. <sql:query/>
<sql:query var="변수명" dataSource="데이터소스 변수명" />
SELECT * FROM ADMIN
</sql:query>
5. Functions
사용 방법
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
태그 종류
이름 | 설명 |
${fn:substringAfter(str1,str2)} | str1에서 str1에 포함되어 있는 str2 이후의 문자열을 구함 |
${fn:startsWith(str1,str2)} | str1이 str2로 시작할 경우 true, 아니면 false 반환 |
${fn:endsWith(str1,str2)} | str1이 str2로 끝나는 경우 true, 아니면 false 반환 |
${fn:split(str1,str2)} | str2로 명시한 글자를 기준으로 str1을 분리해서 배열로 반환 |
${fn:join(array,str2)} | array에 저장된 문자열을 합친다. |
${fn:replace(str,src,dest)} | str에 있는 src를 dest로 반환 |
태그 사용법
1.${fn:startWith(str1,str2)}
${fn:starstWith("Hello World","w")} // 결과값 : true
2. ${fn:replace}
${fn:replace("문자열", "기존값", "변경값")}
${fn:replace("Hello World", " ", "_")} // Hello_World