JSP & Servlet :: EL과 JSTL 개념정리

2023. 12. 21. 23:15· 📚 Study/JSP & Servlet
목차
  1. 🔎 EL(Expression Language : 표현 언어)
  2. 🔎 JSTL(JSP Standarad Tag Library)
  3. ✔ JSTL 사용

🔎 EL(Expression Language : 표현 언어)

EL은 JSTL 1.0 스펙에서 잠깐 소개되었다가 JSP 2.0  부터 공식적으로 포함되었으며

JSP 페이지에 사용되는 자바 코드를 대신해서 액션 태그 엘리먼트의 속성에 값을 지정하는 역할을 한다.

 

예를 들어,

<someTags:aTag> 액션 태그의

엘리먼트의 속성은 attribute 이고 속성 값은 <% pageContent:getAttribute(aName")%>인 경우

<someTags:aTag attribute="<% pageContent.getAttribute('aName')%>"> 의 방식으로 표현해야 하지만

표현 언어(EL)에서는

<someTags:aTag attribute="${aName}"> 이렇게 표현한다.

 


🔎 JSTL(JSP Standarad Tag Library)

JSP 에서는 XML 처럼 사용자가 태그를 정의해서 사용하는 것이 가능하며

이와 같은 사용자 정의 태그를 커스텀 태그라고 하는데 이들 중 자주 사용하는 것을 표준으로 만들어 놓은 것이 JSTL이다.

 

JSTL 은 일반적인 웹 어플리케이션 기능인

반복과 조건, 데이터 관리, 포맷, XML 조작, 데이터베이스 액세스를

구현하는 커스텀 태그 라이브러리 모음이다.

 

JSP의 스크립트와 HTML 코드를 혼용하여 사용하면

개발의 편의성👍을 제공하긴 하지만 코드의 복잡성을 증대😢시키는 문제가 있다.

이와 같은 문제를 해결하기 위해 로직 부분의 JSP 코드를 태그로 대치시켜 HTML 과 같은 태그로 이루어진 코딩 방법이 제시되었다.

 

JSTL 은 JSP 로직을 담당하는 부분인 if, for, while, DB처리 등과 관련된 표준 커스텀 태그를 제공함으로써

코드를 간결하고 가독성이 좋도록 👍 하며

데이터 포맷, 반복 콘텐트 또는 조건 콘텐트와 같은 전형적이 표현 레이어를 위한 표준 구현을 제공하기 때문에

JSP 작성자들이 어플리케이션 개발에 집중하는데 도움이 된다.👍

 

JSP(JSTL) 작성 시 주의할 사항은 액션 태그도 그렇지만 JSTL 커스텀 태그도 XML 기반에서 작성되었기 때문에
모든 태그는 시작 태그와 종료 태그의 쌍으로 이루어져야 한다는 것이다.

기존의 컨텍스트에서 JSTL 을 사용하기 위해서는 웹 어플리케이션의 WEB-INF/lib 디렉터리에 필요한 라이브러리를 복사하여 붙여넣으면 된다.
JSTL 의 주된 라이브러리 파일은 jstl.jar, standard.jar 파일이고, jaxen-full.jar, sxpath.jar, jaxp-api.jar 파일 등이 필요하다.
이 파일들을 적재하고 컨텍스트를 리로드한다.

더보기

- JSTL 을 사용하기 위한 환경 설정
    
     ·『https://jakarta.apache.org/』

     ·왼편에 구성된 메뉴 목록들 중 『Taglibs』 클릭
       → 『https://tomcat.apache.org/taglibs/』 페이지로 이동

     ·왼편에 구성된 메뉴 목록들 중 『Standard』 클릭
       → 『https://tomcat.apache.org/taglibs/standard/』 페이지로 이동

     ·본문의 내용 중 『Standard 1.1』 항목의 『download』 클릭
       → 『https://archive.apache.org/dist/jakarta/taglibs/standard/』 페이지로 이동
     
     ·본문의 내용 중 『binaries/』클릭
       → 『https://archive.apache.org/dist/jakarta/taglibs/standard/binaries/』 페이지로 이동

     ·본문의 목록 중 『jakarta-taglibs-standard-1.1.2.zip 2004-10-25 20:57  933K』 클릭
       → 다운로드 대화창 → 파일 다운로드 및 저장
       → 다운로드 완료 및 압축 해제

     이후... (압축 해제 후)...
     『C:\Downloads\12_JSTL\jakarta-taglibs-standard-1.1.2\jakarta-taglibs-standard-1.1.2\lib』 디렉터리 안에 있는
     『jstl.jar』 파일과 『standard.jar』 파일
     이렇게 두 개의 jar 파일을
     현재 작업할(작업중인) 프로젝트의 『WebContent > WEB-INF > lib』 경로에
     복사하여 붙여넣기 한다.

     다음으로...
     이클립스 환경 설정(Window > Preferences) 클릭
     → Web 항목 > JSP Files > Editor > Templates 접근

     리스트 항목들 중 (체크 박스는 건드리지 말고...)
     new JSP File(html 5) 항목 선택 후 수정(Edit 버튼 클릭)

     이어 열리는 대화창에서
     최초 디렉티브(page) 아래에 다음과 같은 내용 추가

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

✔ JSTL 사용

JSTL 은 태생이 커스텀 태그이기 때문에 JSP 와 밀접한 관계가 있다.
application, session, request, response, pageContext 등의 내장 객체에 쉽게 접근하며,

그 외에도 파라미터, 쿠키, 헤더 등을 복잡한 코드를 사용하지 않고 쉽게 직관적으로 사용할 수 있다.
또한, 기본적인 연산이나 객체 비교 등을

『.equals()』 메소드 등을 사용하는 대신 『==』와 같이 쉽게 구현하였으며,
조건, 반복, 이동에 따른 태그를 지원하기 때문에 태그만으로도 반복 기능을 구현할 수 있다.
JSTL 의 처리 영역은 크게 4 가지로 나누어진다

core 기본핵심기능
format 형식화
xml xml 처리
sql sql 처리

 

✔ 주요 분류 및 종류

   ○ Core
      - 기능 : 변수지원, 흐름제어, URL처리 등
      - 접두어(Prefix) : c
      - URI : http://java.sun.com/jsp/jstl/core

   ○ XML
      - 기능 : XML코어, 흐름제어, XML변환 등
      - 접두어(Prefix) : x
      - URI : http://java.sum.com/jsp/jstl/xml

   ○ 국제화(형식화)
      - 기능 : 지역, 메세지형식, 숫자및날짜형식 등
      - 접두어(Prefix) : fmt
      - URI : http://java.sum.com/jsp/jstl/fmt

   ○ 데이터베이스
      - 기능 : SQL 지원
      - 접두어(Prefix) : sql
      - URI : http://java.sum.com/jsp/jstl/sql

   ○ Functions
      - 기능 : 컬렉션처리, String처리 등
      - 접두어(Prefix) : fn
      - URI : http://java.sum.com/jsp/jstl/functions

 

   ※ JSTL 에 taglib 추가
   <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
   <%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml"%>
   <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
   <%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%>
   <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>

저작자표시 (새창열림)
  1. 🔎 EL(Expression Language : 표현 언어)
  2. 🔎 JSTL(JSP Standarad Tag Library)
  3. ✔ JSTL 사용
'📚 Study/JSP & Servlet' 카테고리의 다른 글
  • JSP & Servlet :: DBCP 개념 및 실습
  • JSP & Servlet :: EL과 JSTL 실습
  • JSP & Servlet :: Servlet(서블릿) 개념과 실습(ServletConfig, ServletContext)
  • JSP & Servlet :: JSP 액션 태그 실습
bono-hye
bono-hye
bono-hye
공부를 합시다👩🏻‍💻
bono-hye
전체
오늘
어제
  • 분류 전체보기 (506)
    • 📚 Study (225)
      • Java (148)
      • Oracle (28)
      • JDBC (4)
      • Javascript (9)
      • JSP & Servlet (19)
      • JQuery (6)
      • Spring (9)
      • Springboot (0)
      • 개인 공부 (2)
    • ✏️ 문제풀이 (280)
      • 백준 (181)
      • 프로그래머스 (99)

블로그 메뉴

  • 홈
  • 글쓰기
  • 관리
hELLO · Designed By 정상우.v4.2.1
bono-hye
JSP & Servlet :: EL과 JSTL 개념정리
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.