[JSP] 08. JSTL (JavaServer Pages Standard Tag Library)
JAVA 코드를 바로 사용하지 않고 HTML 태그 형태로 직관적인 코딩을 지원하는 라이브러리이다.
HTML 상에선 제어문, 반복문 등을 사용하지 못하므로 JSTL을 사용해 해당 문법을 구현한다.
HTML 코드에서 <% %>를 사용해 자바 코드를 구현할 수는 있지만 그렇게 되면 코드가 복잡해지고 가독성이 떨어진다.
그래서 조금이나마 편하게 코드를 작성하기 위해 JSTL이라는 도구를 사용할 수 있다.
JSTL을 사용할 때 jar파일을 classpath에 추가하고 해당하는 아래의 링크를 붙여넣으면 된다.
JSTL
1) JSP 표준 태그 라이브러리(여러 태그들의 집합)
2) 자신의 태그를 추가할 수 있다.
3) tomcat.apache.org -> Download -> Taglibs ->jar 다운로드 (jar 파일 추가 필요)
4) 라이브러리의 종류(사용도 순서)
라이브러리 기능 접두어(prefix) 관련URL(uri)
라이브러리 종류
(1) core 변수, 제어문 c
(2) 국제화 지역, 날짜/시간 fmt(포멧태그)
(3) 함수 String, 컬렉션 fn
(4) XML XML 처리 x
(5) DB SQL 처리 sql
5) JSP의 지시어 중에서 taglib 지시어를 작성하고 사용한다.
* WEB-INF/lib 에 jar 추가
<%@ taglib prefix="c" uri= "http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri= "http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="fn" uri= " http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="x" uri= "http://java.sun.com/jsp/jstl/xml"%>
<%@ taglib prefix="sql" uri= "http://java.sun.com/jsp/jstl/sql"%>
(맨 위에 복사/붙여넣기)
core 라이브러리
1) 변수 지원
(1) set : 변수 선언 (EL의 setAttribute)
(2) remove : 변수 삭제 (EL의 removeAttribute)
2) 제어문 지원
(1) if : else는 없다.
<c:if test="조건"></c:if>
(2) choose : 다중 if 처리
(3) forEach : 루프, 컬렉션 루프
(4) forTokens: 구분자(delim)로 데이터를 분리(토큰 생성)
3) URL 지원
(1) import : <jsp:include> 와 동일 (다른 동적 페이지 포함)
(2) redirect : 리다이렉트
4) 기타
(1) out : 출력
(2) catch : 예외 처리