본문 바로가기

Java

(Java) JSTL

1. JSTL 개념

JSTL의 정식 명칭은 자바서버 페이지 표준 태그 라이브러리(JavaServer Pages Standard Tag Library)이고

줄여서 JSTL이라고 부른다.

 

JSTL은 Java EE 기반의 웹 애플리케이션 개발 플랫폼을 위한 컴포넌트 모음이다.

JSTL은 XML 데이터 처리와 조건문, 반복문, 국제화와 지역화와 같은 일을 처리하기 위한

JSP 태그 라이브러리를 추가하여 JSP 사양을 확장했다.

 

2. JSTL 사용법

JSTL은 라이브러리이기 때문에 사용하기전에 core를 header에 추가해주어야 한다.

 

사용설정

<% @taglib uri="http://java.sun.com/jstl/core" prefix="c" %>

 

사용법

<c:if test=""></c:if>
<c:forEach items=""></c:forEach>

 

core 태그들

<c:set> 변수명에 값을 할당
<c:out> 값을 출력
<c:if> 조건식에 해당하는 블럭과 사용될 scope설정
<c:choose> 다른 언어의 switch와 비슷
<c:when> switch문의 case에 해당
<c:otherwise> switch문의 default에 해당
<c:forEach> 다른언어의 loop문 items 속성에 배열을 할당할 수 있음

 

3. EL

EL 사용법

EL의 정식 명칭은 표현 언어(Expression Language)라고 하며 줄여서 EL이라고 부른다.

 

JSP 2.0 스펙에 새로 추가된 스크립트 언어로서JSP 2.0 부터는 JSP 컨테이너가 EL표현식을 해석할 수 있게

도어 표준 액션 태그, 커스텀 태그, 템플릿 데이터와 같이 자바코드를 사용해야 했던 모든 곳에 EL을 사용할 수 있다.

 

값이 없는 변수(null)에 대해 좀 더 관대하고 데이터 형 변환을 자동으로 해주는 특징이 있다. EL을 사용하면 값이 없거나 형 변환 등에 전혀 신경 쓸 필요 없이 서버로 전송해서 형변환 없이 사용할 수 있다.

<%= name %>
${name}

 

EL 내장객체

${pageScope} page Scope에 접근하기 위한 객체
${reqeustScope} request Scope에 접근하기 위한 객체
${sessionScope} session Scope에 접근하기 위한 객체
${applicationScope} application Scope에 접근하기 위한 객체
${param} 파라미터 값을 가져오기 위한 객체
${header} 헤더 값을 가져오기 위한 객체
${cookie} 쿠키 값을 가져오기 위한 객체
${initParam} JSP 초기 파라미터를 가져오기 위한 객체
${pageContext} pageContext 객체에 접근하기 위한 객체

 

EL 연산자

+ +
* *
/ div
\&\& and
|| or
== eq
!= ne
< ge
> lt
<= ge
>= le

 

참고자료: https://daesuni.github.io/jstl/