수업 내용/[JSP] JSP

[JSP] 08. JSTL (JavaServer Pages Standard Tag Library)

프롯 2023. 5. 23. 19:21

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 : 예외 처리