Spring

JSTL과 EL에 대해서

block_626 2022. 4. 24. 14:16

JSTL

  • 커스텀 태그를 사용하는 목적은 자주 사용하는 기능들을 한 번만 구현한 다음, 재사용하기 위해서이다. 

가독성이 높은 장점이 있는 커스텀 태그지만, 개발자가 직접 만들려면 시간과 노력이 많이 든다.

이때 사용하는 것이 JSTL인데, 이것을 사용하면 직접 커스텀 태그를 만들지 않아도 커스텀 태그를 사용 할 수 있다.

JSTL은 java Server Pages Standard Tag Library의 약자로 jsp에서 사용하는 태그 라이브러리를 공통으로 사용하기 위해 정해진 표준이다.

JSTL은 공통으로 사용되는 기능들을 미리 구현해 놓은 커스텀 태그들이다.

따라서 JSTL로 구현된 기능은 별도로 커스텀 태그를 만들어서 사용할 필요 없이 JSTL을 그대로 사용하면 된다.

 

JSTL의 장점

  1. 빠른 개발 -> JSP를 단순화하는 많은 태그를 제공
  2. 코드 재사용성 -> 다양한 페이지에서 JSTL 태그 사용 가능
  3. 스크립틀릿 태그를 사용할 필요가 없음 (스크립틀릿 태그를 사용하지 않음)

 

JSTL의 사용법

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

 

JSTL의 5개의 태그 라이브러리

  • Core, Formatting, SQL, XML, Functions 이렇게 5개가 있다

 

  • Core : 프로그램 개발 시 사용되는 기본 적인 기능 포함.
  • Formatting : 날짜, 시간에 관한 형식을 처리하는 기능.
  • SQL : 데이터베이스 작업에 관한 기능들을 수행하는 태그
  • XML : XML을 지원하는 기능의 태그들.
  • Functions : 여러가지 함수 기능을 제공

 

각 태그 라이브러리를 사용하기 위해 taglib 지시자가 지정하는 prefix와 uri속성값

 

JSTL core의 태그들

 

EL(Expression Language)

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

JSP 2.0 스펙에 새로 추가된 스크립트 언어로서 초기의 EL은 JSTL의 액션 태그에서만 작동하는 문제가 있었는데, JSP 2.0 부터는 JSP 컨테이너가 EL표현식을 해석할 수 있게 도어 표준 액션 태그, 커스텀 태그, 템플릿 데이터와 같이 자바코드를 사용해야 했던 모든 곳에 EL을 사용할 수 있다.

EL은 자바스크립트에서 확장된 Xpath에서 힌트를 얻어 만들어진 언어로 값이 없는 변수(null)에 대해 좀 더 관대하고 데이터 형 변환을 자동으로 해주는 특징이 있다. EL을 사용하면 값이 없거나 형 변환 등에 전혀 신경 쓸 필요 없이 서버로 전송해서 형변환 없이 사용할 수 있다.

 

EL의 사용법

EL의 내장 객체

 

EL의 연산자 종류 및 표현법