JSTL (JSP Standard Tag Library) 이란?
- JSP에서 사용되는 반복, 조건, 데이터관리, 데이터베이스 액세스, 시간, 숫자, 날짜, 문자열 가공등을 사용할 수 있는 표준라이브러리이다.
- JSTL은 EL(Expression Language)를 사용하여 표현한다.
출처: https://hackersstudy.tistory.com/42 [공대인들이 직접쓰는 컴퓨터공부방]
JSTL의 이점
- Fast Development: JSP를 단순화하는 많은 태그 제공
- Code Reusability: 다양한 페이지에서 JSTL tag를 사용할 수 있다
- No need to use scriptlet tag
JSTL Core Tag의 종류
태그 이름 |
설명 |
c:set / |
변수의 선언 및 제거 |
c:remove / |
c:out / |
변수의 출력 |
c:catch / |
예외 처리 |
c:if / |
조건문 (else는 없다) |
c:choose / |
Switch문과 비슷 |
c:when / |
c:otherwise / |
c:forEach / |
반복문 |
c:forTokens / |
구분자로 분할하여 반복문 |
c:url / |
URL 생성 |
c:param / |
파라미터 추가 |
c:import / |
페이지 첨부 |
c:redirect / |
URL 이동 |
각 Core Tag 설명
- <c:set /> Tag
- JSP의 setAttribute()와 같은 역할
- <c:remove /> Tag
- JSP의 removeAttribute()와 같은 역할
- <c:out /> Tag
- '<%=...>'와 같다. JSP의 표현식을 대체
- <c:choose />, <c:when />, <c:otherwise />
- Switch문과 동일, 여러개의 when 태그와 하나의 otherwise 태그를 가진다
- <c:if /> 태그에 else가 없으므로 대체식으로도 많이 사용
JSTL Function Tag
: 문자열을 처리하는 함수를 제공
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
ex.
${fn:contains(str, str)}
${fn:split(str, '|')}
- fn:contains(string, sbustring)
- string이 substring을 포함하면 return true 반환
- fn:containsIgnoreCase(string, sbustring)
- 대소문자 관계없이 string이 substring을 포함하면 return true 반환
- fn:startsWith(string, prefix)
- string이 prefix로 시작하면 return True
- fn:endsWith(string, suffix)
- string이 suffix로 끝나면 return True
- fn:escapeXml(string)
- stting에 XML과 HTML에서 < >& ' " 문자들이 있으면, XML엔티티 코드로 바꿔준뒤 문자열 반환
- fn:indexOf(string, sbustring)
- string에서 substring이 처음으로 나타나는 인덱스 반환
- fn:split(string, separator)
- string내의 문자열 separetor에 따라 나누어서 배열로 구성해서 반환
- fn:join(array, separator)
- array요소들을 separator를 구분자로 하여 연결해서 반환
- fn:length(item)
- item이 배열이나 컬렉션이면 요소의 개수를 문자열이면 문자의 개수를 반환
- fn:replace(string, before, after)
- string내에 있는 before 문자열을 after 문자열로 모두 변경해서 반환
- fn:substring(string, begin, end)
- string에서 begin인덱스에서 시작해서 end인덱스에 끝나는 부분의 문자열 반환
- fn:substringAfter(string, sbustring)
- string에서 substring이 나타나는 이후의 문자열 반환
- fn:substringBefore(string, sbustring)
- string에서 substring이 나타나는 이전의 문자열 반환
- fn:trim(string)
- string앞뒤의 공백을 모두 제거한 후 반환
출처: https://cofs.tistory.com/262 [CofS]
: 숫자, 날짜, 시간을 formatting하는 기능과 국제화, 다국어 지원 기능을 제공
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
:XML 문서를 처리할 때 필요한 기능을 제공합니다.
XML 출력, 흐름 제어, XML 변환 등의 기능이 있습니다.
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>
: 데이터베이스의 데이터를 입력/수정/삭제/조회하는 기능을 제공
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>