[JSP] JSTL 에 대해 알아보아요!
JSP 에는 JSTL 이라는 특별한 라이브러리가 있답니다.
JSTL 은 JSP Standard Tag Library 의 약어에요.
HTML 코드 안에 JAVA 스크립틀릿을 사용하는 대신 JSTL 을 사용함으로써,
가독성을 높이고 코드를 간결하게 만들 수 있어요!
먼저, JSTL 은 라이브러리이기 때문에 JSP 맨 윗줄에 직접 추가해서 선언해 주어야 해요.
태그 | 선언문 및 설명 |
Core |
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> |
Functions | <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> |
Formatting |
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> |
XML |
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %> |
Database |
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %> |
1. Core 태그
태그 | 설명 | 사용 예시 | |
c:set | 변수 선언 |
scope(영역) 종류 : page (디폴트) / request / session / application |
|
c:remove | 변수 제거 |
|
|
c:out | 값 출력 |
|
|
c:if |
if 문 if~else 사용 불가 |
|
|
c:choose |
switch 문 if~else 대신 사용 |
|
|
c:when | switch 문의 case | ||
c:otherwise | switch 문의 default | ||
c:forEach |
for 문 |
|
|
c:redirect |
해당 URL 로 이동 |
|
|
c:import |
include |
|
|
c:url |
URL 만들기 c:param 사용 가능 |
URL = /Cat_Love/catlove.jsp?cat=boree&age=1 |
|
c:catch |
예외처리 |
|
2. Functions 태그
태그 | 설명 | 사용 예시 | |
fn:length() |
문자열의 길이 또는 컬렉션의 갯수 반환 |
|
|
fn:replace | 기존 문자열을 다른 문자열로 바꿈 |
|
|
fn:indexOf() |
문자열 중의 첫번째 문자 index 반환 (없을 시 -1 반환) |
|
|
fn:trim() | 문자열 양쪽의 공백 제거 |
|
|
fn:split | 문자열을 배열로 분할 |
|
|
fn:substring() | 지정한 시작, 끝 위치에 따라 분할 |
|
|
fn:substringAfter() | 지정한 문자열 뒷 부분 반환 |
|
|
fn:substringBefore() | 지정한 문자열 앞 부분 반환 |
|
|
fn:contains() | 지정한 문자열을 포함하는지 확인 |
|
|
fn:containslgnoreCase() |
fn:contains() 와 같은 용도 + 대소문자 구분을 하지 않음 |
||
fn:startsWith() |
기존의 문자열이 특정 문자열로 시작되는지 확인 |
|
|
fn:endsWith() |
기존의 문자열이 특정 문자열로 끝나는지 확인 |
|
|
fn:toLowerCase() | 문자열을 소문자로 바꿈 |
|
|
fn:toUpperCase() | 문자열을 대문자로 바꿈 |
|
|
fn:escapeXml | XML 문자열을 escape 시킴 |
|
3. Formatting 태그
태그 | 설명 |
fmt:parseNumber | 문자열을 숫자 형식으로 변환 |
fmt:formatNumber | 숫자를 정의한 패턴으로 변환 |
fmt:parseDate | 시간/날짜를 정의한 패턴으로 변환 |
fmt:pormatDate | 날짜 정보 객체를 정의한 패턴으로 변환 |
fmt:timeZone | 특정 영역의 시간대 설정 |
fmt:setTimeZone | 특정 영역의 시간대 설정 정보를 변수에 저장 |
fmt:bundle | 자원 번들 로드 (basename 속성에 지정된 properties 파일을 읽어옴) |
fmt:setBundle | 자원 번들 로드 및 값 저장 (properties 파일을 읽어와 참조 가능하도록 설정) |
fmt:setLocale | 통화 기호/시간 대역을 설정한 지역에 맞게 표시 |
fmt:message | bundle 태그를 통해 저장된 key 값으로 value 를 가져옴 |
오늘은 JSTL 에 대해 알아 보았는데요.
JSTL 은 많이많이 쓰이니까 열심히 공부해야 겠어요!
그럼 다음에는 EL 이야기로 찾아올께요. 다음에 또 보아요 ^ㅡ^