Language/JSP

9월 21일 D+40 [JSP 16장 : JSTL]

구일일구 2022. 9. 21. 19:46
반응형

JSTL

* JSP Standard Tag Library : 널리 사용되는 커스텀 태그를 표준으로 만든 것 / JSP에서만 쓰는 표준 태그 라이브러리

* JSTL 태그 종류

라이브러리 하위 기능 접두어 관련URI
코어 변수지원
흐름 제어
URL 처리
c http://java.sun.com/jsp/jstl/core
XML XML 코어
흐름 제어
XML 변환
x http://java.sun.com/jsp/jstl/xml
국제화 지역
메시지 형식
숫자 및 날짜 형식
fmt http://java.sun.com/jsp/jstl/fmt
데이터베이스 SQL sql http://java.sun.com/jsp/jstl/sql
함수 콜렉션 처리
String 처리
fn http://java.sun.com/jsp/jstl/functions

코어, 국제화는 잘 확인할 것

* JSTL 1.2 관련 jar 파일 필요함 ➡️ 파일을 WEB-INF/lib에 복사하기

https://maven-repository.dev.java.net/repository/jstl/jars/

jstl-1.2.jar
0.40MB

 

코어 태그 라이브러리 종류

기능분류 태그 설명
변수 지원 set JSP에서 사용될 변수를 설정한다.
remove 설정한 변수를 제거한다.
흐름 제어 if 조건에 따라 내부 코드를 수행한다.
choose 다중 조건을 처리할 때 사용된다.
forEach 콜렉션이나 Map의 각 항목을 처리할 때 사용된다.
forTokens 구분자로 분리된 각각의 토큰을 처리할 때 사용된다.
URL 처리 import URL을 사용하여 다른 자원의 결과를 삽입한다.
redirect 지정한 경로로 리다이렉트 한다.
url URL을 재작성 한다.
기타 태그 catch 예외 처리에 사용된다.
out JspWriter에 내용을 알맞게 처리한 후 출력한다.

set, if, forEach가 가장 중요

 

변수 지원 태그

<c:set> 태그  : 변수 설정

EL 변수 값 설정 (생성 또는 변경)

<c:set var="변수명" value="" [scope="영역"] />
<c:set var="변수명" value="" [scope="영역"]></c:set>
 
특정 EL 변수의 프로퍼티 값 설정
<c:set target="대상" property="프로퍼티이름" value="" />
<c:set target="대상" property="프로퍼티이름"></c:set>

 


<c:remove>태그 : 변수 삭제

<c:remove var="varName" [scope="영역"] />
scope 미지정시 모든 영역의 변수 삭제

 

흐름 제어 태그

<c:if> 태그 : 조건이 true일 경우 몸체 내용 실행

<c:choose>, <c:when>, <c:otherwise> 태그

switch - case - default와 동일함

 

반복 처리

<c:forEach> 태그 

집합이나 콜렉션 데이터 사용

특정 회수 반복

varStatus 속성

index - 루프 실행에서 현재 인덱스, count - 루프 실행 회수

begin - begin 속성 값, end - end 속성 값, step - step 속성 값

first - 현재 실행이 첫 번째 실행인 경우 true

last - 현재 실행이 루프의 마지막 실행인 경우 true

current - 콜렉션 중 현재 루프에서 사용할 객체

 

URL 관련 태그

<c:import> 태그

외부 / 내부 페이지를 현재 위치에 삽입 

<c:url> 태그 

절대 URL과 상대 URL을 알맞게 생성해주는 기능을 제공함

 

<c:redirect> 태그

지정한 페이지로 리다이렉트(옮겨감)

 

 

기타 코어 태그

<c:out>태그

데이터를 출력함

 

<c:catch>태그

몸체에서 발생한 예외를 변수에 저장함

반응형